# -*- encoding:utf-8; warn-indent:false; frozen_string_literal: true  -*-

# line 1 "lib/parser/lexer.rl"

# line 3 "lib/parser/lexer.rl"
#
# === BEFORE YOU START ===
#
# Read the Ruby Hacking Guide chapter 11, available in English at
# http://whitequark.org/blog/2013/04/01/ruby-hacking-guide-ch-11-finite-state-lexer/
#
# Remember two things about Ragel scanners:
#
#   1) Longest match wins.
#
#   2) If two matches have the same length, the first
#      in source code wins.
#
# General rules of making Ragel and Bison happy:
#
#  * `p` (position) and `@te` contain the index of the character
#    they're pointing to ("current"), plus one. `@ts` contains the index
#    of the corresponding character. The code for extracting matched token is:
#
#       @source_buffer.slice(@ts...@te)
#
#  * If your input is `foooooooobar` and the rule is:
#
#       'f' 'o'+
#
#    the result will be:
#
#       foooooooobar
#       ^ ts=0   ^ p=te=9
#
#  * A Ragel lexer action should not emit more than one token, unless
#    you know what you are doing.
#
#  * All Ragel commands (fnext, fgoto, ...) end with a semicolon.
#
#  * If an action emits the token and transitions to another state, use
#    these Ragel commands:
#
#       emit($whatever)
#       fnext $next_state; fbreak;
#
#    If you perform `fgoto` in an action which does not emit a token nor
#    rewinds the stream pointer, the parser's side-effectful,
#    context-sensitive lookahead actions will break in a hard to detect
#    and debug way.
#
#  * If an action does not emit a token:
#
#       fgoto $next_state;
#
#  * If an action features lookbehind, i.e. matches characters with the
#    intent of passing them to another action:
#
#       p = @ts - 1
#       fgoto $next_state;
#
#    or, if the lookbehind consists of a single character:
#
#       fhold; fgoto $next_state;
#
#  * Ragel merges actions. So, if you have `e_lparen = '(' %act` and
#    `c_lparen = '('` and a lexer action `e_lparen | c_lparen`, the result
#    _will_ invoke the action `act`.
#
#    e_something stands for "something with **e**mbedded action".
#
#  * EOF is explicit and is matched by `c_eof`. If you want to introspect
#    the state of the lexer, add this rule to the state:
#
#       c_eof => do_eof;
#
#  * If you proceed past EOF, the lexer will complain:
#
#       NoMethodError: undefined method `ord' for nil:NilClass
#

class Parser::Lexer

  
# line 85 "lib/parser/lexer-F1.rb"
class << self
	attr_accessor :_lex_trans_keys
	private :_lex_trans_keys, :_lex_trans_keys=
end
self._lex_trans_keys = [
	0, 0, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	58, 58, 58, 58, 46, 46, 
	0, 127, 58, 58, 60, 
	60, 62, 62, 10, 10, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 115, 115, 
	99, 99, 117, 117, 101, 
	101, 108, 116, 101, 101, 
	115, 115, 115, 115, 105, 105, 
	108, 108, 105, 105, 108, 
	108, 58, 58, 0, 127, 
	10, 10, 0, 127, 9, 92, 
	10, 10, 9, 92, 58, 
	58, 98, 98, 101, 101, 
	103, 103, 105, 105, 110, 110, 
	0, 127, 61, 61, 9, 
	92, 9, 92, 9, 92, 
	9, 92, 9, 92, 10, 10, 
	0, 127, 0, 127, 61, 
	126, 93, 93, 0, 127, 
	0, 127, 10, 10, 34, 34, 
	10, 10, 39, 39, 0, 
	127, 10, 96, 96, 96, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 58, 58, 58, 58, 
	0, 127, 43, 57, 48, 57, 
	48, 57, 48, 57, 48, 
	57, 115, 115, 99, 99, 
	117, 117, 101, 101, 99, 99, 
	117, 117, 101, 101, 0, 
	127, 58, 58, 9, 92, 
	9, 92, 9, 92, 9, 92, 
	9, 92, 9, 92, 60, 
	60, 10, 10, 9, 92, 
	9, 92, 10, 10, 10, 10, 
	10, 10, 10, 10, 46, 
	46, 101, 101, 103, 103, 
	105, 105, 110, 110, 69, 69, 
	78, 78, 68, 68, 95, 
	95, 95, 95, 0, 26, 
	0, 0, 36, 64, 0, 127, 
	48, 57, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	9, 32, 0, 0, 61, 126, 
	10, 10, 10, 10, 0, 
	127, 0, 127, 48, 57, 
	115, 115, 38, 38, 42, 42, 
	64, 64, 58, 58, 60, 
	61, 62, 62, 61, 126, 
	61, 61, 61, 62, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 93, 93, 10, 10, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 124, 124, 0, 127, 
	0, 127, 9, 32, 10, 10, 
	10, 10, 46, 46, 10, 
	10, 0, 0, 0, 127, 
	0, 127, 61, 61, 0, 0, 
	9, 32, 0, 0, 61, 
	126, 10, 10, 10, 10, 
	38, 38, 42, 42, 64, 64, 
	60, 61, 62, 62, 61, 
	126, 61, 61, 61, 62, 
	0, 127, 93, 93, 10, 10, 
	124, 124, 0, 126, 0, 
	127, 0, 61, 9, 61, 
	9, 61, 0, 0, 9, 61, 
	9, 62, 46, 46, 46, 
	46, 58, 58, 9, 32, 
	0, 0, 0, 127, 0, 0, 
	9, 124, 0, 0, 10, 
	10, 10, 10, 0, 0, 
	9, 61, 58, 58, 60, 60, 
	62, 62, 9, 32, 10, 
	10, 0, 127, 102, 102, 
	101, 101, 110, 110, 104, 104, 
	0, 127, 0, 127, 0, 
	127, 0, 0, 0, 127, 
	10, 10, 0, 123, 9, 32, 
	10, 10, 10, 10, 10, 
	10, 0, 0, 111, 111, 
	0, 0, 0, 127, 0, 127, 
	9, 32, 0, 0, 10, 
	10, 10, 10, 10, 10, 
	0, 0, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	58, 61, 0, 0, 61, 
	126, 61, 61, 0, 0, 
	0, 0, 0, 0, 9, 32, 
	61, 61, 9, 32, 61, 
	126, 10, 10, 10, 10, 
	0, 127, 38, 61, 0, 0, 
	42, 61, 61, 61, 9, 
	92, 9, 92, 9, 92, 
	46, 46, 46, 46, 10, 10, 
	0, 26, 0, 127, 0, 
	127, 61, 61, 0, 0, 
	61, 126, 61, 62, 0, 0, 
	0, 0, 0, 0, 0, 
	0, 61, 126, 0, 127, 
	48, 57, 38, 38, 42, 42, 
	64, 64, 60, 61, 62, 
	62, 61, 61, 61, 62, 
	0, 127, 48, 57, 0, 127, 
	124, 124, 64, 64, 60, 
	61, 0, 0, 10, 34, 
	10, 39, 96, 96, 62, 62, 
	61, 126, 61, 62, 0, 
	26, 0, 127, 0, 127, 
	0, 127, 0, 0, 10, 10, 
	0, 0, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 61, 126, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 0, 61, 124, 0, 
	92, 9, 32, 0, 0, 
	10, 10, 10, 10, 10, 10, 
	0, 0, 0, 127, 0, 
	127, 9, 32, 0, 0, 
	10, 10, 10, 10, 10, 10, 
	0, 0, 0, 127, 0, 
	127, 61, 61, 0, 0, 
	9, 32, 0, 0, 61, 126, 
	10, 10, 10, 10, 0, 
	127, 0, 127, 48, 57, 
	61, 61, 38, 61, 0, 0, 
	0, 0, 42, 61, 61, 
	62, 46, 57, 46, 46, 
	10, 10, 48, 101, 48, 95, 
	46, 120, 48, 114, 43, 
	57, 48, 105, 102, 102, 
	0, 0, 101, 105, 0, 0, 
	0, 0, 48, 114, 48, 
	114, 48, 114, 48, 114, 
	105, 114, 102, 102, 0, 0, 
	101, 105, 115, 115, 0, 
	0, 0, 0, 48, 114, 
	48, 114, 48, 114, 48, 114, 
	48, 114, 48, 114, 48, 
	114, 48, 114, 46, 114, 
	48, 114, 46, 114, 48, 114, 
	58, 58, 60, 61, 62, 
	62, 61, 126, 61, 61, 
	61, 62, 0, 127, 0, 127, 
	0, 0, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 0, 
	10, 10, 0, 0, 0, 
	0, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	9, 92, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 127, 
	0, 127, 0, 127, 0, 
	0, 61, 124, 0, 0, 
	9, 92, 9, 92, 9, 92, 
	46, 46, 46, 46, 10, 
	10, 46, 46, 10, 10, 
	10, 61, 10, 10, 10, 101, 
	10, 110, 10, 100, 10, 
	10, 0, 95, 9, 32, 
	0, 0, 10, 10, 10, 10, 
	98, 98, 9, 32, 10, 
	10, 95, 95, 0
]

class << self
	attr_accessor :_lex_key_spans
	private :_lex_key_spans, :_lex_key_spans=
end
self._lex_key_spans = [
	0, 128, 128, 128, 128, 128, 128, 128, 
	1, 1, 1, 128, 1, 1, 1, 1, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 1, 1, 1, 1, 9, 1, 
	1, 1, 1, 1, 1, 1, 1, 128, 
	1, 128, 84, 1, 84, 1, 1, 1, 
	1, 1, 1, 128, 1, 84, 84, 84, 
	84, 84, 1, 128, 128, 66, 1, 128, 
	128, 1, 1, 1, 1, 128, 87, 1, 
	128, 128, 128, 128, 128, 128, 1, 1, 
	128, 15, 10, 10, 10, 10, 1, 1, 
	1, 1, 1, 1, 1, 128, 1, 84, 
	84, 84, 84, 84, 84, 1, 1, 84, 
	84, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 27, 
	0, 29, 128, 10, 128, 128, 128, 128, 
	24, 0, 66, 1, 1, 128, 128, 10, 
	1, 1, 1, 1, 1, 2, 1, 66, 
	1, 2, 128, 128, 128, 128, 128, 128, 
	128, 1, 1, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 1, 128, 
	128, 24, 1, 1, 1, 1, 0, 128, 
	128, 1, 0, 24, 0, 66, 1, 1, 
	1, 1, 1, 2, 1, 66, 1, 2, 
	128, 1, 1, 1, 127, 128, 62, 53, 
	53, 0, 53, 54, 1, 1, 1, 24, 
	0, 128, 0, 116, 0, 1, 1, 0, 
	53, 1, 1, 1, 24, 1, 128, 1, 
	1, 1, 1, 128, 128, 128, 0, 128, 
	1, 124, 24, 1, 1, 1, 0, 1, 
	0, 128, 128, 24, 0, 1, 1, 1, 
	0, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 4, 0, 66, 1, 0, 
	0, 0, 24, 1, 24, 66, 1, 1, 
	128, 24, 0, 20, 1, 84, 84, 84, 
	1, 1, 1, 27, 128, 128, 1, 0, 
	66, 2, 0, 0, 0, 0, 66, 128, 
	10, 1, 1, 1, 2, 1, 1, 2, 
	128, 10, 128, 1, 1, 2, 0, 25, 
	30, 1, 1, 66, 2, 27, 128, 128, 
	128, 0, 1, 0, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 66, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 0, 64, 93, 24, 0, 
	1, 1, 1, 0, 128, 128, 24, 0, 
	1, 1, 1, 0, 128, 128, 1, 0, 
	24, 0, 66, 1, 1, 128, 128, 10, 
	1, 24, 0, 0, 20, 2, 12, 1, 
	1, 54, 48, 75, 67, 15, 58, 1, 
	0, 5, 0, 0, 67, 67, 67, 67, 
	10, 1, 0, 5, 1, 0, 0, 67, 
	67, 67, 67, 67, 67, 67, 67, 69, 
	67, 69, 67, 1, 2, 1, 66, 1, 
	2, 128, 128, 0, 128, 128, 128, 128, 
	128, 128, 0, 1, 0, 0, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 84, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 128, 128, 128, 
	128, 128, 128, 128, 128, 0, 64, 0, 
	84, 84, 84, 1, 1, 1, 1, 1, 
	52, 1, 92, 101, 91, 1, 96, 24, 
	0, 1, 1, 1, 24, 1, 1
]

class << self
	attr_accessor :_lex_index_offsets
	private :_lex_index_offsets, :_lex_index_offsets=
end
self._lex_index_offsets = [
	0, 0, 129, 258, 387, 516, 645, 774, 
	903, 905, 907, 909, 1038, 1040, 1042, 1044, 
	1046, 1175, 1304, 1433, 1562, 1691, 1820, 1949, 
	2078, 2207, 2336, 2465, 2594, 2723, 2852, 2981, 
	3110, 3239, 3368, 3370, 3372, 3374, 3376, 3386, 
	3388, 3390, 3392, 3394, 3396, 3398, 3400, 3402, 
	3531, 3533, 3662, 3747, 3749, 3834, 3836, 3838, 
	3840, 3842, 3844, 3846, 3975, 3977, 4062, 4147, 
	4232, 4317, 4402, 4404, 4533, 4662, 4729, 4731, 
	4860, 4989, 4991, 4993, 4995, 4997, 5126, 5214, 
	5216, 5345, 5474, 5603, 5732, 5861, 5990, 5992, 
	5994, 6123, 6139, 6150, 6161, 6172, 6183, 6185, 
	6187, 6189, 6191, 6193, 6195, 6197, 6326, 6328, 
	6413, 6498, 6583, 6668, 6753, 6838, 6840, 6842, 
	6927, 7012, 7014, 7016, 7018, 7020, 7022, 7024, 
	7026, 7028, 7030, 7032, 7034, 7036, 7038, 7040, 
	7068, 7069, 7099, 7228, 7239, 7368, 7497, 7626, 
	7755, 7780, 7781, 7848, 7850, 7852, 7981, 8110, 
	8121, 8123, 8125, 8127, 8129, 8131, 8134, 8136, 
	8203, 8205, 8208, 8337, 8466, 8595, 8724, 8853, 
	8982, 9111, 9113, 9115, 9244, 9373, 9502, 9631, 
	9760, 9889, 10018, 10147, 10276, 10405, 10534, 10663, 
	10792, 10921, 11050, 11179, 11308, 11437, 11566, 11695, 
	11824, 11953, 12082, 12211, 12340, 12469, 12598, 12727, 
	12856, 12985, 13114, 13243, 13372, 13501, 13630, 13759, 
	13888, 14017, 14146, 14275, 14404, 14533, 14662, 14791, 
	14920, 15049, 15178, 15307, 15436, 15565, 15694, 15823, 
	15952, 16081, 16210, 16339, 16468, 16597, 16726, 16855, 
	16984, 17113, 17242, 17371, 17500, 17629, 17758, 17887, 
	18016, 18145, 18274, 18403, 18532, 18661, 18790, 18919, 
	19048, 19177, 19306, 19435, 19564, 19693, 19822, 19824, 
	19953, 20082, 20107, 20109, 20111, 20113, 20115, 20116, 
	20245, 20374, 20376, 20377, 20402, 20403, 20470, 20472, 
	20474, 20476, 20478, 20480, 20483, 20485, 20552, 20554, 
	20557, 20686, 20688, 20690, 20692, 20820, 20949, 21012, 
	21066, 21120, 21121, 21175, 21230, 21232, 21234, 21236, 
	21261, 21262, 21391, 21392, 21509, 21510, 21512, 21514, 
	21515, 21569, 21571, 21573, 21575, 21600, 21602, 21731, 
	21733, 21735, 21737, 21739, 21868, 21997, 22126, 22127, 
	22256, 22258, 22383, 22408, 22410, 22412, 22414, 22415, 
	22417, 22418, 22547, 22676, 22701, 22702, 22704, 22706, 
	22708, 22709, 22838, 22967, 23096, 23225, 23354, 23483, 
	23612, 23741, 23870, 23999, 24128, 24257, 24386, 24515, 
	24644, 24773, 24902, 25031, 25036, 25037, 25104, 25106, 
	25107, 25108, 25109, 25134, 25136, 25161, 25228, 25230, 
	25232, 25361, 25386, 25387, 25408, 25410, 25495, 25580, 
	25665, 25667, 25669, 25671, 25699, 25828, 25957, 25959, 
	25960, 26027, 26030, 26031, 26032, 26033, 26034, 26101, 
	26230, 26241, 26243, 26245, 26247, 26250, 26252, 26254, 
	26257, 26386, 26397, 26526, 26528, 26530, 26533, 26534, 
	26560, 26591, 26593, 26595, 26662, 26665, 26693, 26822, 
	26951, 27080, 27081, 27083, 27084, 27213, 27342, 27471, 
	27600, 27729, 27858, 27987, 28116, 28245, 28374, 28503, 
	28632, 28761, 28890, 29019, 29148, 29277, 29406, 29535, 
	29664, 29793, 29922, 30051, 30180, 30309, 30438, 30567, 
	30696, 30825, 30954, 31083, 31212, 31341, 31470, 31599, 
	31728, 31857, 31986, 32115, 32244, 32373, 32502, 32631, 
	32760, 32889, 33018, 33147, 33276, 33405, 33534, 33663, 
	33792, 33921, 34050, 34179, 34308, 34437, 34566, 34695, 
	34824, 34953, 35020, 35149, 35278, 35407, 35536, 35665, 
	35794, 35923, 36052, 36181, 36310, 36439, 36568, 36697, 
	36826, 36955, 37084, 37213, 37342, 37471, 37600, 37729, 
	37858, 37987, 38116, 38245, 38246, 38311, 38405, 38430, 
	38431, 38433, 38435, 38437, 38438, 38567, 38696, 38721, 
	38722, 38724, 38726, 38728, 38729, 38858, 38987, 38989, 
	38990, 39015, 39016, 39083, 39085, 39087, 39216, 39345, 
	39356, 39358, 39383, 39384, 39385, 39406, 39409, 39422, 
	39424, 39426, 39481, 39530, 39606, 39674, 39690, 39749, 
	39751, 39752, 39758, 39759, 39760, 39828, 39896, 39964, 
	40032, 40043, 40045, 40046, 40052, 40054, 40055, 40056, 
	40124, 40192, 40260, 40328, 40396, 40464, 40532, 40600, 
	40670, 40738, 40808, 40876, 40878, 40881, 40883, 40950, 
	40952, 40955, 41084, 41213, 41214, 41343, 41472, 41601, 
	41730, 41859, 41988, 41989, 41991, 41992, 41993, 42122, 
	42251, 42380, 42509, 42638, 42767, 42896, 43025, 43154, 
	43283, 43412, 43541, 43670, 43799, 43928, 44057, 44186, 
	44315, 44444, 44573, 44702, 44831, 44960, 45089, 45218, 
	45347, 45476, 45605, 45734, 45863, 45992, 46121, 46250, 
	46379, 46508, 46637, 46766, 46851, 46980, 47109, 47238, 
	47367, 47496, 47625, 47754, 47883, 48012, 48141, 48270, 
	48399, 48528, 48657, 48786, 48915, 49044, 49173, 49302, 
	49431, 49560, 49689, 49818, 49947, 50076, 50205, 50334, 
	50463, 50592, 50721, 50850, 50979, 51108, 51237, 51366, 
	51495, 51624, 51753, 51882, 52011, 52140, 52269, 52398, 
	52527, 52656, 52785, 52914, 53043, 53172, 53301, 53430, 
	53559, 53688, 53817, 53946, 54075, 54204, 54333, 54462, 
	54591, 54720, 54849, 54978, 55107, 55236, 55237, 55302, 
	55303, 55388, 55473, 55558, 55560, 55562, 55564, 55566, 
	55568, 55621, 55623, 55716, 55818, 55910, 55912, 56009, 
	56034, 56035, 56037, 56039, 56041, 56066, 56068
]

class << self
	attr_accessor :_lex_indicies
	private :_lex_indicies, :_lex_indicies=
end
self._lex_indicies = [
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 1, 1, 2, 1, 2, 1, 1, 
	2, 2, 1, 1, 1, 3, 1, 1, 
	4, 4, 4, 4, 4, 4, 4, 4, 
	4, 4, 1, 1, 1, 1, 1, 1, 
	1, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 2, 1, 2, 2, 0, 
	1, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 2, 2, 2, 1, 2, 
	0, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 2, 2, 2, 2, 2, 
	2, 2, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 2, 2, 2, 2, 
	1, 2, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 1, 1, 1, 1, 
	1, 1, 1, 1, 2, 2, 2, 2, 
	2, 1, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 2, 2, 2, 2, 
	2, 2, 6, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 2, 2, 2, 
	2, 5, 2, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 2, 2, 2, 
	2, 2, 5, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 2, 2, 2, 
	2, 2, 2, 2, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 2, 2, 
	2, 2, 7, 2, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 2, 2, 
	2, 2, 2, 7, 8, 8, 8, 8, 
	8, 8, 8, 8, 8, 8, 8, 8, 
	8, 8, 8, 8, 8, 8, 8, 8, 
	8, 8, 8, 8, 8, 8, 8, 8, 
	8, 8, 8, 8, 8, 8, 8, 8, 
	8, 8, 8, 8, 8, 8, 8, 8, 
	8, 8, 8, 8, 9, 9, 9, 9, 
	9, 9, 9, 9, 9, 9, 8, 8, 
	8, 8, 8, 8, 8, 9, 9, 9, 
	9, 9, 9, 9, 9, 9, 9, 9, 
	9, 9, 9, 9, 9, 9, 9, 9, 
	9, 9, 9, 9, 9, 9, 9, 8, 
	8, 8, 8, 9, 8, 9, 9, 9, 
	9, 9, 9, 9, 9, 9, 9, 9, 
	9, 9, 9, 9, 9, 9, 9, 9, 
	9, 9, 9, 9, 9, 9, 9, 8, 
	8, 8, 8, 8, 9, 11, 11, 11, 
	11, 11, 11, 11, 11, 11, 11, 11, 
	11, 11, 11, 11, 11, 11, 11, 11, 
	11, 11, 11, 11, 11, 11, 11, 11, 
	11, 11, 11, 11, 11, 11, 11, 11, 
	11, 11, 11, 11, 11, 11, 11, 11, 
	11, 11, 11, 11, 11, 10, 10, 10, 
	10, 10, 10, 10, 10, 10, 10, 11, 
	11, 11, 11, 11, 11, 11, 10, 10, 
	10, 10, 10, 10, 10, 10, 10, 10, 
	10, 10, 10, 10, 10, 10, 10, 10, 
	10, 10, 10, 10, 10, 10, 10, 10, 
	11, 11, 11, 11, 11, 11, 10, 10, 
	10, 10, 10, 10, 10, 10, 10, 10, 
	10, 10, 10, 10, 10, 10, 10, 10, 
	10, 10, 10, 10, 10, 10, 10, 10, 
	11, 11, 11, 11, 11, 10, 12, 12, 
	12, 12, 12, 12, 12, 12, 12, 12, 
	12, 12, 12, 12, 12, 12, 12, 12, 
	12, 12, 12, 12, 12, 12, 12, 12, 
	12, 12, 12, 12, 12, 12, 12, 14, 
	12, 12, 12, 12, 12, 12, 12, 12, 
	12, 12, 12, 12, 12, 12, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	15, 12, 12, 12, 12, 14, 12, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 12, 12, 12, 12, 13, 12, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 12, 12, 12, 12, 12, 13, 15, 
	12, 12, 16, 17, 12, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 20, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 21, 
	18, 18, 18, 18, 20, 18, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	18, 18, 18, 18, 19, 18, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	18, 18, 18, 18, 18, 19, 21, 18, 
	23, 22, 24, 22, 25, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 27, 
	22, 27, 27, 27, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 27, 22, 
	22, 22, 22, 28, 29, 22, 30, 22, 
	31, 32, 33, 34, 35, 28, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	36, 22, 37, 33, 38, 39, 22, 26, 
	26, 26, 26, 26, 26, 26, 26, 26, 
	26, 26, 26, 26, 26, 26, 26, 26, 
	26, 26, 26, 26, 26, 26, 26, 26, 
	26, 40, 41, 33, 42, 26, 22, 26, 
	26, 26, 26, 26, 26, 26, 26, 43, 
	26, 26, 26, 26, 26, 26, 26, 26, 
	44, 26, 26, 45, 26, 46, 26, 26, 
	26, 47, 48, 22, 42, 22, 26, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	49, 22, 49, 49, 49, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 49, 
	22, 22, 22, 22, 50, 51, 22, 52, 
	22, 53, 54, 55, 56, 57, 50, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 58, 22, 59, 55, 60, 61, 22, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 62, 63, 55, 24, 19, 22, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	64, 19, 19, 19, 19, 19, 19, 19, 
	19, 65, 19, 19, 66, 19, 67, 19, 
	19, 19, 68, 69, 22, 24, 22, 19, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 20, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 21, 22, 22, 22, 22, 20, 
	22, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 22, 22, 22, 22, 19, 
	22, 19, 19, 19, 19, 19, 70, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 22, 22, 22, 22, 22, 
	19, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 20, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 21, 22, 22, 22, 22, 
	20, 22, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 22, 22, 22, 22, 
	19, 22, 19, 19, 19, 19, 71, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 22, 22, 22, 22, 
	22, 19, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 20, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 21, 22, 22, 22, 
	22, 20, 22, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 22, 22, 22, 
	22, 19, 22, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 72, 19, 19, 
	19, 19, 19, 19, 19, 22, 22, 22, 
	22, 22, 19, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 20, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 21, 22, 22, 
	22, 22, 20, 22, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 22, 22, 
	22, 22, 19, 22, 19, 19, 73, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 22, 22, 
	22, 22, 22, 19, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 20, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 21, 22, 
	22, 22, 22, 20, 22, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 22, 
	22, 22, 22, 19, 22, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 74, 19, 19, 19, 19, 19, 22, 
	22, 22, 22, 22, 19, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 20, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 21, 
	22, 22, 22, 22, 20, 22, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	22, 22, 22, 22, 19, 22, 19, 19, 
	19, 19, 70, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	22, 22, 22, 22, 22, 19, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 20, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	21, 22, 22, 22, 22, 20, 22, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 22, 22, 22, 22, 19, 22, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 75, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 22, 22, 22, 22, 22, 19, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	20, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 21, 22, 22, 22, 22, 20, 22, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 22, 22, 22, 22, 19, 22, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 76, 19, 19, 19, 19, 
	19, 19, 19, 77, 19, 19, 19, 19, 
	19, 19, 22, 22, 22, 22, 22, 19, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 20, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 21, 22, 22, 22, 22, 20, 
	22, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 22, 22, 22, 22, 19, 
	22, 19, 19, 19, 19, 78, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 22, 22, 22, 22, 22, 
	19, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 20, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 21, 22, 22, 22, 22, 
	20, 22, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 22, 22, 22, 22, 
	19, 22, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 79, 19, 19, 19, 
	19, 19, 19, 19, 22, 22, 22, 22, 
	22, 19, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 20, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 21, 22, 22, 22, 
	22, 20, 22, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 22, 22, 22, 
	22, 19, 22, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 70, 19, 19, 
	19, 19, 19, 19, 19, 22, 22, 22, 
	22, 22, 19, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 20, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 21, 22, 22, 
	22, 22, 20, 22, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 22, 22, 
	22, 22, 19, 22, 19, 19, 19, 19, 
	19, 19, 19, 19, 80, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 22, 22, 
	22, 22, 22, 19, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 20, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 21, 22, 
	22, 22, 22, 20, 22, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 22, 
	22, 22, 22, 19, 22, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	70, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 22, 
	22, 22, 22, 22, 19, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 20, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 21, 
	22, 22, 22, 22, 20, 22, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	22, 22, 22, 22, 19, 22, 19, 19, 
	19, 19, 19, 19, 19, 81, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	22, 22, 22, 22, 22, 19, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 20, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	21, 22, 22, 22, 22, 20, 22, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 22, 22, 22, 22, 19, 22, 19, 
	19, 19, 19, 19, 19, 19, 19, 82, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 22, 22, 22, 22, 22, 19, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 22, 
	20, 22, 22, 22, 22, 22, 22, 22, 
	22, 22, 22, 22, 22, 22, 22, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 21, 22, 22, 22, 22, 20, 22, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 22, 22, 22, 22, 19, 22, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 74, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 22, 22, 22, 22, 22, 19, 
	84, 83, 85, 83, 86, 83, 55, 83, 
	87, 83, 83, 83, 83, 83, 83, 83, 
	88, 83, 89, 83, 90, 83, 55, 83, 
	91, 83, 55, 83, 92, 83, 86, 83, 
	94, 93, 95, 95, 95, 95, 95, 95, 
	95, 95, 95, 97, 95, 97, 97, 97, 
	95, 95, 95, 95, 95, 95, 95, 95, 
	95, 95, 95, 95, 95, 95, 95, 95, 
	95, 95, 97, 95, 95, 95, 95, 95, 
	95, 95, 98, 95, 95, 95, 95, 95, 
	95, 95, 95, 95, 95, 95, 95, 95, 
	95, 95, 95, 95, 95, 95, 95, 95, 
	95, 95, 95, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 95, 99, 95, 
	95, 96, 95, 96, 96, 96, 100, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 95, 95, 95, 
	95, 95, 96, 101, 95, 95, 95, 95, 
	95, 95, 95, 95, 95, 95, 103, 95, 
	103, 103, 103, 95, 95, 95, 95, 95, 
	95, 95, 95, 95, 95, 95, 95, 95, 
	95, 95, 95, 95, 95, 103, 95, 95, 
	95, 95, 95, 95, 95, 104, 95, 95, 
	95, 95, 95, 95, 95, 95, 95, 95, 
	95, 95, 95, 95, 95, 95, 95, 95, 
	95, 95, 95, 95, 95, 95, 102, 102, 
	102, 102, 102, 102, 102, 102, 102, 102, 
	102, 102, 102, 102, 102, 102, 102, 102, 
	102, 102, 102, 102, 102, 102, 102, 102, 
	95, 105, 95, 95, 102, 95, 102, 102, 
	102, 106, 102, 102, 102, 102, 102, 102, 
	102, 102, 102, 102, 102, 102, 102, 102, 
	102, 102, 102, 102, 102, 102, 102, 102, 
	95, 95, 95, 95, 95, 102, 108, 107, 
	108, 108, 108, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 108, 107, 107, 
	107, 107, 107, 107, 107, 109, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 110, 107, 111, 107, 112, 107, 112, 
	112, 112, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 112, 107, 107, 107, 
	107, 107, 107, 107, 113, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	107, 107, 107, 107, 107, 107, 107, 107, 
	114, 107, 115, 116, 118, 117, 119, 117, 
	120, 117, 121, 117, 122, 117, 124, 124, 
	124, 124, 124, 124, 124, 124, 124, 124, 
	124, 124, 124, 124, 124, 124, 124, 124, 
	124, 124, 124, 124, 124, 124, 124, 124, 
	124, 124, 124, 124, 124, 124, 124, 124, 
	124, 124, 124, 124, 124, 124, 124, 124, 
	124, 124, 124, 124, 124, 124, 123, 123, 
	123, 123, 123, 123, 123, 123, 123, 123, 
	124, 124, 124, 124, 124, 124, 124, 123, 
	123, 123, 123, 123, 123, 123, 123, 123, 
	123, 123, 123, 123, 123, 123, 123, 123, 
	123, 123, 123, 123, 123, 123, 123, 123, 
	123, 124, 124, 124, 124, 124, 124, 123, 
	123, 123, 123, 123, 123, 123, 123, 123, 
	123, 123, 123, 123, 123, 123, 123, 123, 
	123, 123, 123, 123, 123, 123, 123, 123, 
	123, 124, 124, 124, 124, 124, 123, 125, 
	115, 126, 127, 126, 126, 126, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	126, 115, 115, 128, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	129, 129, 129, 129, 129, 129, 129, 129, 
	129, 129, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 130, 115, 131, 132, 
	131, 131, 131, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 131, 115, 115, 
	133, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 134, 134, 134, 
	134, 134, 134, 134, 134, 134, 134, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 135, 115, 137, 138, 137, 137, 137, 
	136, 136, 136, 136, 136, 136, 136, 136, 
	136, 136, 136, 136, 136, 136, 136, 136, 
	136, 136, 137, 136, 136, 139, 136, 136, 
	136, 136, 136, 136, 136, 136, 136, 136, 
	136, 136, 140, 140, 140, 140, 140, 140, 
	140, 140, 140, 140, 136, 136, 136, 136, 
	136, 136, 136, 136, 136, 136, 136, 136, 
	136, 136, 136, 136, 136, 136, 136, 136, 
	136, 136, 136, 136, 136, 136, 136, 136, 
	136, 136, 136, 136, 136, 136, 141, 136, 
	143, 144, 143, 143, 143, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 143, 
	142, 142, 145, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 146, 
	146, 146, 146, 146, 146, 146, 146, 146, 
	146, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 147, 142, 143, 148, 143, 
	143, 143, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 143, 142, 142, 145, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 146, 146, 146, 146, 
	146, 146, 146, 146, 146, 146, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	147, 142, 127, 115, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 151, 151, 149, 
	151, 149, 151, 151, 149, 149, 151, 151, 
	151, 152, 151, 151, 153, 153, 153, 153, 
	153, 153, 153, 153, 153, 153, 151, 151, 
	151, 151, 151, 151, 151, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 149, 
	151, 149, 149, 150, 151, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 149, 
	149, 149, 151, 149, 150, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 151, 151, 151, 
	151, 151, 151, 151, 151, 151, 151, 149, 
	149, 149, 149, 149, 149, 149, 151, 151, 
	151, 151, 151, 151, 151, 151, 151, 151, 
	151, 151, 151, 151, 151, 151, 151, 151, 
	151, 151, 151, 151, 151, 151, 151, 151, 
	149, 149, 149, 149, 151, 149, 151, 151, 
	151, 151, 151, 151, 151, 151, 151, 151, 
	151, 151, 151, 151, 151, 151, 151, 151, 
	151, 151, 151, 151, 151, 151, 151, 151, 
	149, 149, 149, 149, 149, 151, 154, 151, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 151, 
	149, 154, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 156, 149, 149, 
	149, 149, 157, 149, 149, 149, 149, 149, 
	158, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	125, 149, 149, 149, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 149, 149, 
	149, 149, 155, 159, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 149, 149, 
	149, 158, 149, 155, 161, 161, 161, 161, 
	161, 161, 161, 161, 161, 161, 162, 161, 
	161, 161, 161, 161, 161, 161, 161, 161, 
	161, 161, 161, 161, 161, 161, 161, 161, 
	161, 161, 161, 161, 161, 161, 161, 161, 
	161, 161, 161, 161, 161, 161, 161, 161, 
	161, 161, 161, 161, 160, 160, 160, 160, 
	160, 160, 160, 160, 160, 160, 161, 161, 
	161, 161, 161, 161, 161, 160, 160, 160, 
	160, 160, 160, 160, 160, 160, 160, 160, 
	160, 160, 160, 160, 160, 160, 160, 160, 
	160, 160, 160, 160, 160, 160, 160, 161, 
	161, 161, 161, 160, 161, 160, 160, 160, 
	160, 160, 160, 160, 160, 160, 160, 160, 
	160, 160, 160, 160, 160, 160, 160, 160, 
	160, 160, 160, 160, 160, 160, 160, 161, 
	161, 161, 161, 161, 160, 164, 163, 167, 
	166, 162, 161, 167, 168, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 156, 
	149, 149, 149, 149, 157, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	149, 149, 149, 149, 155, 159, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	155, 155, 155, 155, 155, 155, 155, 155, 
	149, 149, 149, 149, 149, 155, 170, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 169, 169, 169, 169, 
	169, 169, 169, 169, 167, 169, 167, 170, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 172, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 173, 115, 115, 174, 115, 172, 
	115, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 115, 115, 115, 115, 171, 
	115, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 115, 115, 115, 115, 115, 
	171, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 172, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 173, 149, 149, 174, 149, 
	172, 149, 171, 171, 171, 171, 171, 171, 
	175, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 149, 149, 149, 149, 
	171, 149, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 149, 149, 149, 149, 
	149, 171, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 172, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 173, 149, 149, 174, 
	149, 172, 149, 171, 171, 171, 171, 171, 
	171, 171, 171, 176, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 149, 149, 149, 
	149, 171, 149, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 149, 149, 149, 
	149, 149, 171, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 172, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 173, 149, 149, 
	174, 149, 172, 149, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 177, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 149, 149, 
	149, 149, 171, 149, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 149, 149, 
	149, 149, 149, 171, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 149, 172, 149, 149, 
	149, 149, 149, 149, 149, 149, 149, 149, 
	149, 149, 149, 149, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 173, 149, 
	149, 174, 149, 172, 149, 171, 171, 171, 
	177, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 149, 
	149, 149, 149, 171, 149, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 149, 
	149, 149, 149, 149, 171, 178, 178, 178, 
	178, 178, 178, 178, 178, 178, 178, 178, 
	178, 178, 178, 178, 178, 178, 178, 178, 
	178, 178, 178, 178, 178, 178, 178, 178, 
	178, 178, 178, 178, 178, 178, 180, 178, 
	178, 178, 178, 178, 178, 178, 178, 178, 
	178, 178, 178, 178, 178, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 181, 
	178, 178, 178, 178, 180, 178, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	178, 178, 178, 178, 179, 178, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	178, 178, 178, 178, 178, 179, 181, 178, 
	178, 182, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 184, 184, 184, 184, 184, 184, 
	184, 184, 184, 184, 183, 183, 183, 183, 
	183, 183, 183, 184, 184, 184, 184, 184, 
	184, 184, 184, 184, 184, 184, 184, 184, 
	184, 184, 184, 184, 184, 184, 184, 184, 
	184, 184, 184, 184, 184, 183, 183, 183, 
	183, 184, 183, 184, 184, 184, 184, 184, 
	184, 184, 184, 184, 184, 184, 184, 184, 
	184, 184, 184, 184, 184, 184, 184, 184, 
	184, 184, 184, 184, 184, 183, 183, 183, 
	183, 183, 184, 186, 185, 186, 185, 185, 
	187, 187, 187, 187, 187, 187, 187, 187, 
	187, 187, 185, 187, 187, 187, 187, 187, 
	187, 187, 187, 187, 187, 185, 188, 188, 
	188, 188, 188, 188, 188, 188, 188, 188, 
	185, 190, 190, 190, 190, 190, 190, 190, 
	190, 190, 190, 189, 191, 191, 191, 191, 
	191, 191, 191, 191, 191, 191, 189, 193, 
	192, 194, 192, 195, 192, 196, 192, 198, 
	197, 199, 197, 200, 197, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 183, 183, 183, 
	183, 183, 183, 183, 183, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 183, 
	183, 183, 183, 183, 183, 183, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	183, 183, 183, 183, 201, 183, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	183, 183, 183, 183, 183, 201, 202, 189, 
	203, 204, 203, 203, 203, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 203, 
	189, 189, 205, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 206, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 207, 189, 208, 209, 208, 
	208, 208, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 208, 189, 189, 210, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	211, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	212, 189, 214, 215, 214, 214, 214, 213, 
	213, 213, 213, 213, 213, 213, 213, 213, 
	213, 213, 213, 213, 213, 213, 213, 213, 
	213, 214, 213, 213, 216, 213, 213, 213, 
	213, 213, 213, 213, 213, 213, 213, 213, 
	213, 213, 213, 213, 213, 213, 213, 213, 
	213, 213, 213, 213, 213, 217, 213, 213, 
	213, 213, 213, 213, 213, 213, 213, 213, 
	213, 213, 213, 213, 213, 213, 213, 213, 
	213, 213, 213, 213, 213, 213, 213, 213, 
	213, 213, 213, 213, 213, 218, 213, 220, 
	221, 220, 220, 220, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 220, 219, 
	219, 222, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 223, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 224, 219, 220, 221, 220, 220, 
	220, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 220, 219, 219, 222, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 225, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 224, 
	219, 220, 226, 220, 220, 220, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	220, 219, 219, 222, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 223, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 224, 219, 227, 189, 
	204, 189, 229, 230, 229, 229, 229, 228, 
	228, 228, 228, 228, 228, 228, 228, 228, 
	228, 228, 228, 228, 228, 228, 228, 228, 
	228, 229, 228, 228, 231, 228, 228, 232, 
	228, 228, 228, 228, 228, 228, 228, 233, 
	228, 228, 228, 228, 228, 228, 228, 228, 
	228, 228, 228, 228, 228, 228, 228, 228, 
	228, 228, 228, 228, 228, 228, 228, 228, 
	228, 228, 228, 228, 228, 228, 228, 228, 
	228, 228, 228, 228, 228, 228, 228, 228, 
	228, 228, 228, 228, 228, 234, 228, 236, 
	230, 236, 236, 236, 235, 235, 235, 235, 
	235, 235, 235, 235, 235, 235, 235, 235, 
	235, 235, 235, 235, 235, 235, 236, 235, 
	235, 231, 235, 235, 235, 235, 235, 235, 
	235, 235, 235, 235, 235, 235, 235, 235, 
	235, 235, 235, 235, 235, 235, 235, 235, 
	235, 235, 235, 235, 235, 235, 235, 235, 
	235, 235, 235, 235, 235, 235, 235, 235, 
	235, 235, 235, 235, 235, 235, 235, 235, 
	235, 235, 235, 235, 235, 235, 235, 235, 
	235, 235, 234, 235, 239, 238, 241, 240, 
	242, 237, 243, 237, 244, 228, 246, 245, 
	247, 245, 248, 245, 249, 245, 250, 245, 
	251, 245, 252, 245, 253, 245, 254, 245, 
	255, 245, 245, 245, 255, 245, 245, 245, 
	245, 245, 256, 245, 245, 245, 245, 245, 
	245, 245, 245, 245, 245, 245, 245, 245, 
	245, 245, 255, 245, 257, 258, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 2, 2, 2, 2, 2, 2, 2, 
	2, 259, 2, 260, 260, 260, 260, 260, 
	260, 260, 260, 260, 260, 260, 260, 260, 
	260, 260, 260, 260, 260, 260, 260, 260, 
	260, 260, 260, 260, 260, 260, 260, 260, 
	260, 260, 260, 260, 260, 260, 260, 260, 
	260, 260, 260, 260, 260, 260, 260, 260, 
	260, 260, 260, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 260, 260, 260, 
	260, 260, 260, 260, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 260, 260, 
	260, 260, 0, 260, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 260, 260, 
	260, 260, 260, 0, 4, 4, 4, 4, 
	4, 4, 4, 4, 4, 4, 260, 261, 
	261, 261, 261, 261, 261, 261, 261, 261, 
	261, 261, 261, 261, 261, 261, 261, 261, 
	261, 261, 261, 261, 261, 261, 261, 261, 
	261, 261, 261, 261, 261, 261, 261, 261, 
	261, 261, 261, 261, 261, 261, 261, 261, 
	261, 261, 261, 261, 261, 261, 261, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 261, 261, 261, 261, 261, 261, 261, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 261, 261, 261, 261, 5, 261, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 5, 5, 5, 5, 5, 5, 
	5, 5, 261, 261, 261, 261, 261, 5, 
	262, 262, 262, 262, 262, 262, 262, 262, 
	262, 262, 262, 262, 262, 262, 262, 262, 
	262, 262, 262, 262, 262, 262, 262, 262, 
	262, 262, 262, 262, 262, 262, 262, 262, 
	262, 262, 262, 262, 262, 262, 262, 262, 
	262, 262, 262, 262, 262, 262, 262, 262, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 262, 262, 262, 262, 262, 262, 
	262, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 262, 262, 262, 262, 7, 
	262, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 7, 7, 7, 7, 7, 
	7, 7, 7, 262, 262, 262, 262, 262, 
	7, 264, 265, 265, 265, 264, 265, 265, 
	265, 265, 266, 267, 266, 266, 266, 265, 
	265, 265, 265, 265, 265, 265, 265, 265, 
	265, 265, 265, 264, 265, 265, 265, 265, 
	265, 266, 268, 265, 269, 270, 271, 272, 
	265, 265, 265, 273, 274, 265, 274, 265, 
	275, 265, 265, 265, 265, 265, 265, 265, 
	265, 265, 265, 276, 265, 277, 278, 279, 
	265, 265, 280, 281, 280, 280, 282, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 283, 284, 265, 275, 
	285, 275, 286, 287, 288, 289, 290, 291, 
	263, 263, 292, 263, 263, 263, 293, 294, 
	295, 263, 263, 296, 297, 298, 299, 263, 
	300, 263, 301, 263, 265, 302, 265, 274, 
	265, 263, 303, 303, 303, 303, 303, 303, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	303, 303, 303, 304, 303, 303, 303, 303, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	303, 303, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 303, 303, 303, 304, 
	303, 304, 303, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 303, 303, 303, 
	303, 263, 303, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 303, 303, 303, 
	303, 303, 263, 266, 305, 266, 266, 266, 
	305, 305, 305, 305, 305, 305, 305, 305, 
	305, 305, 305, 305, 305, 305, 305, 305, 
	305, 305, 266, 305, 306, 275, 307, 307, 
	275, 307, 307, 307, 307, 307, 307, 307, 
	307, 307, 307, 307, 307, 307, 307, 307, 
	307, 307, 307, 307, 307, 307, 307, 307, 
	307, 307, 307, 307, 307, 307, 307, 307, 
	307, 307, 307, 307, 307, 307, 307, 307, 
	307, 307, 307, 307, 307, 307, 307, 307, 
	307, 307, 307, 307, 307, 307, 307, 307, 
	307, 307, 307, 307, 307, 307, 275, 307, 
	308, 309, 310, 311, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 9, 9, 312, 
	9, 312, 9, 9, 312, 312, 9, 9, 
	9, 314, 9, 9, 315, 315, 315, 315, 
	315, 315, 315, 315, 315, 315, 9, 9, 
	9, 9, 9, 9, 9, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 312, 
	9, 312, 312, 313, 9, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 312, 
	312, 312, 9, 312, 313, 316, 316, 316, 
	316, 316, 316, 316, 316, 316, 316, 316, 
	316, 316, 316, 316, 316, 316, 316, 316, 
	316, 316, 316, 316, 316, 316, 316, 316, 
	316, 316, 316, 316, 316, 316, 316, 316, 
	316, 316, 316, 316, 316, 316, 316, 316, 
	316, 316, 316, 316, 316, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 316, 
	316, 316, 316, 316, 316, 316, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	316, 316, 316, 316, 313, 316, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	313, 313, 313, 313, 313, 313, 313, 313, 
	316, 316, 316, 316, 316, 313, 315, 315, 
	315, 315, 315, 315, 315, 315, 315, 315, 
	316, 317, 307, 275, 307, 275, 307, 275, 
	307, 319, 318, 275, 320, 307, 275, 307, 
	321, 275, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 312, 312, 312, 312, 312, 312, 312, 
	312, 275, 312, 275, 307, 275, 275, 307, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	303, 304, 303, 303, 303, 303, 303, 303, 
	303, 303, 303, 303, 303, 303, 303, 303, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 303, 303, 303, 304, 303, 304, 
	303, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 303, 303, 303, 303, 280, 
	303, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 303, 303, 303, 303, 303, 
	280, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 304, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 322, 322, 322, 304, 322, 
	304, 322, 280, 280, 280, 280, 323, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 322, 322, 322, 322, 
	280, 322, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 322, 322, 322, 322, 
	322, 280, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 304, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 322, 322, 322, 304, 
	322, 304, 322, 280, 280, 280, 280, 280, 
	280, 324, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 322, 322, 322, 
	322, 280, 322, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 322, 322, 322, 
	322, 322, 280, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 304, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 322, 322, 322, 
	304, 322, 304, 322, 280, 280, 280, 280, 
	280, 280, 280, 280, 325, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 322, 322, 
	322, 322, 280, 322, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 322, 322, 
	322, 322, 322, 280, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 304, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 322, 322, 
	322, 304, 322, 304, 322, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 326, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 322, 
	322, 322, 322, 280, 322, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 322, 
	322, 322, 322, 322, 280, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 304, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 322, 
	322, 322, 304, 322, 304, 322, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 327, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	322, 322, 322, 322, 280, 322, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	322, 322, 322, 322, 322, 280, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 322, 304, 
	322, 322, 322, 322, 322, 322, 322, 322, 
	322, 322, 322, 322, 322, 322, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	322, 322, 322, 304, 322, 304, 322, 280, 
	280, 280, 326, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 322, 322, 322, 322, 280, 322, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 280, 280, 280, 280, 280, 280, 280, 
	280, 322, 322, 322, 322, 322, 280, 321, 
	312, 267, 312, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 329, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 330, 331, 263, 263, 263, 263, 263, 
	332, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 333, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 334, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 335, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 336, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 337, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	338, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 339, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 340, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 341, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 342, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 343, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 339, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 344, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	343, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 345, 
	263, 346, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 347, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 348, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 341, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 341, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 349, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 350, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 263, 263, 263, 
	351, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 352, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 341, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 353, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 354, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 341, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	355, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 356, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 357, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 263, 341, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 358, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 348, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 359, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 341, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 263, 263, 
	263, 263, 263, 360, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 361, 361, 
	361, 361, 361, 361, 361, 361, 361, 361, 
	361, 361, 361, 361, 361, 361, 361, 361, 
	361, 361, 361, 361, 361, 361, 361, 361, 
	361, 361, 361, 361, 361, 361, 361, 304, 
	361, 361, 361, 361, 361, 361, 361, 361, 
	361, 361, 361, 361, 361, 361, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	361, 361, 361, 304, 361, 304, 361, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 361, 361, 361, 361, 263, 361, 263, 
	263, 263, 263, 263, 263, 263, 263, 362, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 361, 361, 361, 361, 361, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 363, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 364, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 365, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 366, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 367, 
	263, 368, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 369, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 263, 263, 
	263, 263, 341, 263, 263, 263, 370, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 263, 341, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 341, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 371, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 372, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 357, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 373, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 295, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 355, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 341, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 263, 263, 
	263, 263, 263, 341, 263, 263, 263, 263, 
	263, 263, 263, 341, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 374, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 375, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 376, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 357, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 263, 263, 263, 263, 377, 
	263, 263, 263, 378, 263, 263, 263, 263, 
	263, 379, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 379, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	341, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 341, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 380, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 381, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 382, 383, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 341, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 384, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 357, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 385, 263, 263, 
	386, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 341, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 352, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 387, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 388, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 370, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	389, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 263, 295, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 263, 263, 263, 263, 263, 
	263, 263, 390, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 384, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	352, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 391, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 263, 263, 
	263, 392, 263, 263, 263, 263, 263, 263, 
	263, 393, 263, 263, 263, 263, 263, 263, 
	263, 394, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 304, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 304, 328, 304, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 263, 328, 263, 
	263, 263, 263, 370, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 328, 328, 263, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	304, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 328, 328, 328, 304, 328, 304, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 263, 328, 
	263, 263, 263, 263, 358, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 328, 328, 263, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 304, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 328, 328, 328, 304, 328, 304, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 263, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 378, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 328, 328, 
	263, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 304, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 328, 328, 328, 304, 328, 
	304, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	263, 328, 263, 263, 263, 263, 263, 263, 
	263, 395, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 328, 
	328, 263, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 304, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 328, 328, 328, 304, 
	328, 304, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 263, 328, 263, 263, 263, 263, 352, 
	263, 263, 263, 376, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	328, 328, 263, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 304, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 328, 328, 328, 
	304, 328, 304, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 263, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 396, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 328, 328, 263, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 304, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 328, 328, 
	328, 304, 328, 304, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 263, 328, 263, 263, 263, 
	263, 397, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 328, 328, 263, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 328, 304, 328, 
	328, 328, 328, 328, 328, 328, 328, 328, 
	328, 328, 328, 328, 328, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 328, 
	328, 328, 304, 328, 304, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 263, 328, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	263, 346, 263, 263, 263, 263, 263, 263, 
	263, 263, 263, 263, 263, 263, 263, 263, 
	328, 328, 328, 328, 328, 263, 275, 307, 
	399, 400, 400, 400, 399, 400, 400, 400, 
	400, 401, 400, 401, 401, 401, 400, 400, 
	400, 400, 400, 400, 400, 400, 400, 400, 
	400, 400, 399, 400, 400, 400, 400, 400, 
	401, 400, 400, 402, 400, 400, 400, 400, 
	400, 400, 400, 400, 400, 400, 403, 400, 
	400, 400, 400, 400, 400, 400, 400, 400, 
	400, 400, 400, 400, 400, 400, 400, 400, 
	400, 398, 398, 398, 398, 398, 398, 398, 
	398, 398, 398, 398, 398, 398, 398, 398, 
	398, 398, 398, 398, 398, 398, 398, 398, 
	398, 398, 398, 400, 404, 400, 400, 398, 
	400, 398, 398, 398, 398, 398, 398, 398, 
	398, 398, 398, 398, 398, 398, 398, 398, 
	398, 398, 398, 398, 398, 398, 398, 398, 
	398, 398, 398, 400, 400, 400, 400, 400, 
	398, 405, 405, 405, 405, 405, 405, 405, 
	405, 405, 405, 405, 405, 405, 405, 405, 
	405, 405, 405, 405, 405, 405, 405, 405, 
	405, 405, 405, 405, 405, 405, 405, 405, 
	405, 405, 14, 405, 405, 405, 405, 405, 
	405, 405, 405, 405, 405, 405, 405, 405, 
	405, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 15, 405, 405, 405, 405, 
	14, 405, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 405, 405, 405, 405, 
	13, 405, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 13, 13, 13, 13, 
	13, 13, 13, 13, 405, 405, 405, 405, 
	405, 13, 401, 406, 401, 401, 401, 406, 
	406, 406, 406, 406, 406, 406, 406, 406, 
	406, 406, 406, 406, 406, 406, 406, 406, 
	406, 401, 406, 407, 408, 409, 410, 411, 
	405, 412, 405, 413, 415, 416, 416, 416, 
	415, 416, 416, 416, 416, 417, 418, 417, 
	417, 417, 416, 416, 416, 416, 416, 416, 
	416, 416, 416, 416, 416, 416, 415, 416, 
	416, 416, 416, 416, 417, 419, 416, 420, 
	416, 421, 422, 416, 416, 416, 423, 424, 
	416, 424, 416, 421, 416, 416, 416, 416, 
	416, 416, 416, 416, 416, 416, 416, 416, 
	425, 426, 427, 416, 416, 428, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 429, 
	430, 416, 421, 414, 421, 414, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 416, 
	431, 416, 424, 416, 414, 432, 432, 432, 
	432, 432, 432, 432, 432, 432, 432, 432, 
	432, 432, 432, 432, 432, 432, 432, 432, 
	432, 432, 432, 432, 432, 432, 432, 432, 
	432, 432, 432, 432, 432, 432, 433, 432, 
	432, 432, 432, 432, 432, 432, 432, 432, 
	432, 432, 432, 432, 432, 414, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 432, 
	432, 432, 432, 432, 433, 432, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 414, 
	432, 432, 432, 432, 414, 432, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 414, 
	414, 414, 414, 414, 414, 414, 414, 414, 
	432, 432, 432, 432, 432, 414, 435, 434, 
	436, 417, 437, 417, 417, 417, 437, 437, 
	437, 437, 437, 437, 437, 437, 437, 437, 
	437, 437, 437, 437, 437, 437, 437, 437, 
	417, 437, 438, 421, 439, 439, 421, 439, 
	439, 439, 439, 439, 439, 439, 439, 439, 
	439, 439, 439, 439, 439, 439, 439, 439, 
	439, 439, 439, 439, 439, 439, 439, 439, 
	439, 439, 439, 439, 439, 439, 439, 439, 
	439, 439, 439, 439, 439, 439, 439, 439, 
	439, 439, 439, 439, 439, 439, 439, 439, 
	439, 439, 439, 439, 439, 439, 439, 439, 
	439, 439, 439, 439, 421, 439, 440, 441, 
	442, 443, 421, 439, 421, 439, 421, 439, 
	421, 444, 439, 421, 439, 446, 421, 445, 
	445, 445, 445, 445, 445, 445, 445, 445, 
	445, 445, 445, 445, 445, 445, 445, 445, 
	445, 445, 445, 445, 445, 445, 445, 445, 
	445, 445, 445, 445, 445, 445, 445, 445, 
	445, 445, 445, 445, 445, 445, 445, 445, 
	445, 445, 445, 445, 445, 445, 445, 445, 
	445, 445, 445, 445, 445, 445, 445, 445, 
	445, 445, 445, 445, 445, 445, 421, 445, 
	421, 439, 421, 421, 439, 447, 447, 447, 
	447, 447, 447, 447, 447, 447, 447, 447, 
	447, 447, 447, 447, 447, 447, 447, 447, 
	447, 447, 447, 447, 447, 447, 447, 447, 
	447, 447, 447, 447, 447, 447, 433, 447, 
	447, 447, 447, 447, 447, 447, 447, 447, 
	447, 447, 447, 447, 447, 428, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 447, 
	447, 447, 447, 447, 433, 447, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 428, 
	447, 447, 447, 447, 428, 447, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 428, 
	428, 428, 428, 428, 428, 428, 428, 428, 
	447, 447, 447, 447, 447, 428, 446, 445, 
	418, 445, 421, 439, 449, 448, 448, 448, 
	449, 448, 448, 448, 448, 450, 451, 450, 
	450, 450, 448, 448, 448, 448, 448, 448, 
	448, 448, 448, 448, 448, 448, 449, 448, 
	448, 448, 448, 448, 450, 448, 448, 452, 
	448, 24, 453, 448, 454, 448, 455, 24, 
	55, 456, 57, 24, 448, 448, 448, 448, 
	448, 448, 448, 448, 448, 448, 457, 448, 
	458, 55, 459, 460, 448, 448, 448, 448, 
	448, 448, 448, 448, 448, 448, 448, 448, 
	448, 448, 448, 448, 448, 448, 448, 448, 
	448, 448, 448, 448, 448, 448, 448, 55, 
	461, 55, 24, 448, 448, 448, 448, 448, 
	448, 448, 448, 448, 448, 462, 448, 448, 
	448, 448, 448, 448, 448, 448, 463, 448, 
	448, 464, 448, 465, 448, 448, 448, 68, 
	69, 448, 24, 448, 466, 466, 466, 466, 
	466, 466, 466, 466, 466, 450, 466, 450, 
	450, 450, 466, 466, 466, 466, 466, 466, 
	466, 466, 466, 466, 466, 466, 466, 466, 
	466, 466, 466, 466, 450, 466, 466, 466, 
	466, 50, 51, 466, 52, 466, 53, 54, 
	55, 56, 57, 50, 466, 466, 466, 466, 
	466, 466, 466, 466, 466, 466, 58, 466, 
	59, 55, 60, 61, 466, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 62, 
	63, 55, 24, 19, 466, 19, 19, 19, 
	19, 19, 19, 19, 19, 64, 19, 19, 
	19, 19, 19, 19, 19, 19, 65, 19, 
	19, 66, 19, 67, 19, 19, 19, 68, 
	69, 466, 24, 466, 19, 467, 468, 468, 
	468, 467, 468, 468, 468, 468, 55, 469, 
	55, 55, 55, 468, 468, 468, 468, 468, 
	468, 468, 468, 468, 468, 468, 468, 467, 
	468, 468, 468, 468, 468, 55, 468, 468, 
	468, 468, 468, 468, 468, 468, 468, 468, 
	468, 468, 468, 468, 468, 468, 468, 468, 
	468, 468, 468, 468, 468, 468, 468, 468, 
	468, 468, 55, 468, 55, 469, 55, 55, 
	55, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 55, 18, 18, 18, 18, 
	18, 24, 18, 18, 18, 18, 18, 18, 
	18, 55, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	55, 18, 55, 469, 55, 55, 55, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 55, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 55, 18, 
	470, 55, 469, 55, 55, 55, 471, 471, 
	471, 471, 471, 471, 471, 471, 471, 471, 
	471, 471, 471, 471, 471, 471, 471, 471, 
	55, 471, 471, 471, 471, 471, 471, 471, 
	471, 471, 472, 471, 471, 471, 471, 471, 
	471, 471, 471, 471, 471, 471, 471, 471, 
	471, 471, 471, 471, 471, 55, 471, 55, 
	469, 55, 55, 55, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 55, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 18, 18, 18, 18, 18, 
	18, 18, 18, 55, 55, 18, 473, 467, 
	55, 467, 475, 474, 477, 478, 477, 477, 
	477, 476, 476, 476, 476, 476, 476, 476, 
	476, 476, 476, 476, 476, 476, 476, 476, 
	476, 476, 476, 477, 476, 479, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 20, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	21, 467, 467, 467, 467, 20, 467, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 467, 467, 467, 467, 19, 467, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 19, 19, 19, 19, 19, 19, 19, 
	19, 467, 467, 467, 467, 467, 19, 480, 
	55, 469, 55, 55, 55, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 55, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 55, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 24, 467, 481, 482, 483, 
	484, 485, 486, 55, 469, 55, 55, 55, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 55, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 24, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 467, 
	467, 467, 467, 467, 467, 467, 467, 55, 
	467, 55, 474, 24, 487, 24, 487, 488, 
	489, 488, 488, 488, 476, 476, 476, 476, 
	476, 476, 476, 476, 476, 476, 476, 476, 
	476, 476, 476, 476, 476, 476, 488, 476, 
	490, 487, 491, 491, 491, 491, 491, 491, 
	491, 491, 491, 27, 491, 27, 27, 27, 
	491, 491, 491, 491, 491, 491, 491, 491, 
	491, 491, 491, 491, 491, 491, 491, 491, 
	491, 491, 27, 491, 491, 491, 491, 28, 
	29, 491, 30, 491, 31, 32, 33, 34, 
	35, 28, 491, 491, 491, 491, 491, 491, 
	491, 491, 491, 491, 36, 491, 37, 33, 
	38, 39, 491, 26, 26, 26, 26, 26, 
	26, 26, 26, 26, 26, 26, 26, 26, 
	26, 26, 26, 26, 26, 26, 26, 26, 
	26, 26, 26, 26, 26, 40, 41, 33, 
	42, 26, 491, 26, 26, 26, 26, 26, 
	26, 26, 26, 43, 26, 26, 26, 26, 
	26, 26, 26, 26, 44, 26, 26, 45, 
	26, 46, 26, 26, 26, 47, 48, 491, 
	42, 491, 26, 55, 487, 492, 487, 493, 
	487, 494, 487, 495, 94, 94, 94, 495, 
	94, 94, 94, 94, 496, 94, 496, 496, 
	496, 94, 94, 94, 94, 94, 94, 94, 
	94, 94, 94, 94, 94, 495, 94, 94, 
	94, 94, 94, 496, 94, 94, 94, 94, 
	94, 94, 94, 94, 94, 94, 94, 94, 
	94, 94, 94, 94, 94, 94, 94, 94, 
	94, 94, 94, 94, 94, 94, 94, 94, 
	94, 94, 94, 94, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 94, 497, 
	94, 94, 96, 94, 96, 96, 96, 100, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 94, 94, 
	94, 94, 94, 96, 93, 93, 93, 93, 
	93, 93, 93, 93, 93, 93, 93, 93, 
	93, 93, 93, 93, 93, 93, 93, 93, 
	93, 93, 93, 93, 93, 93, 93, 93, 
	93, 93, 93, 93, 93, 498, 93, 93, 
	93, 93, 93, 93, 93, 93, 93, 93, 
	93, 93, 93, 93, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 94, 93, 
	93, 93, 93, 498, 93, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 93, 
	93, 93, 93, 96, 93, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 93, 
	93, 93, 93, 93, 96, 499, 499, 499, 
	499, 499, 499, 499, 499, 499, 97, 499, 
	97, 97, 97, 499, 499, 499, 499, 499, 
	499, 499, 499, 499, 499, 499, 499, 499, 
	499, 499, 499, 499, 499, 97, 499, 499, 
	499, 499, 499, 499, 499, 98, 499, 499, 
	499, 499, 499, 499, 499, 499, 499, 499, 
	499, 499, 499, 499, 499, 499, 499, 499, 
	499, 499, 499, 499, 499, 499, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	499, 99, 499, 499, 96, 499, 96, 96, 
	96, 100, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	499, 499, 499, 499, 499, 96, 500, 499, 
	499, 499, 499, 499, 499, 499, 499, 499, 
	499, 499, 499, 499, 499, 499, 499, 499, 
	499, 499, 499, 499, 499, 499, 499, 499, 
	499, 499, 499, 499, 499, 499, 499, 499, 
	498, 499, 499, 499, 499, 499, 499, 499, 
	499, 499, 499, 499, 499, 499, 499, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 94, 499, 499, 499, 499, 498, 499, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 499, 499, 499, 499, 96, 499, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 96, 96, 96, 96, 501, 96, 
	96, 96, 96, 96, 96, 96, 96, 96, 
	96, 96, 499, 499, 499, 499, 499, 96, 
	101, 499, 503, 502, 502, 502, 503, 502, 
	502, 502, 502, 504, 502, 504, 504, 504, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 503, 502, 502, 502, 
	502, 502, 504, 502, 502, 505, 502, 502, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 502, 502, 506, 502, 
	502, 502, 502, 502, 502, 502, 507, 502, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 502, 502, 502, 502, 
	502, 502, 502, 502, 502, 508, 502, 504, 
	509, 504, 504, 504, 509, 509, 509, 509, 
	509, 509, 509, 509, 509, 509, 509, 509, 
	509, 509, 509, 509, 509, 509, 504, 509, 
	510, 511, 512, 513, 515, 514, 516, 517, 
	514, 518, 520, 521, 521, 521, 520, 521, 
	521, 521, 521, 522, 523, 522, 522, 522, 
	521, 521, 521, 521, 521, 521, 521, 521, 
	521, 521, 521, 521, 520, 521, 521, 521, 
	521, 521, 522, 521, 521, 524, 521, 521, 
	521, 521, 521, 521, 521, 521, 521, 521, 
	521, 521, 521, 521, 521, 521, 521, 521, 
	521, 521, 521, 521, 521, 521, 521, 521, 
	521, 521, 521, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 521, 525, 521, 
	521, 519, 521, 519, 519, 519, 519, 519, 
	519, 519, 519, 526, 519, 519, 519, 519, 
	519, 519, 519, 519, 527, 519, 519, 528, 
	519, 529, 519, 519, 519, 521, 521, 521, 
	521, 521, 519, 530, 530, 530, 530, 530, 
	530, 530, 530, 530, 530, 530, 530, 530, 
	530, 530, 530, 530, 530, 530, 530, 530, 
	530, 530, 530, 530, 530, 530, 530, 530, 
	530, 530, 530, 530, 530, 530, 530, 530, 
	530, 530, 530, 530, 530, 530, 530, 530, 
	530, 530, 530, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 530, 530, 530, 
	530, 530, 530, 530, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 530, 530, 
	530, 530, 519, 530, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 530, 530, 
	530, 530, 530, 519, 522, 531, 522, 522, 
	522, 531, 531, 531, 531, 531, 531, 531, 
	531, 531, 531, 531, 531, 531, 531, 531, 
	531, 531, 531, 522, 531, 532, 533, 534, 
	535, 536, 538, 537, 539, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 540, 
	540, 540, 540, 540, 540, 540, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	540, 540, 540, 540, 519, 540, 519, 519, 
	519, 519, 519, 541, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	540, 540, 540, 540, 540, 519, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	540, 540, 540, 540, 540, 540, 540, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 540, 540, 540, 540, 519, 540, 519, 
	519, 519, 519, 542, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 540, 540, 540, 540, 540, 519, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 540, 540, 540, 540, 540, 540, 540, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 540, 540, 540, 540, 519, 540, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 543, 519, 519, 519, 519, 519, 
	519, 519, 540, 540, 540, 540, 540, 519, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 540, 540, 540, 540, 540, 540, 
	540, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 540, 540, 540, 540, 519, 
	540, 519, 519, 544, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 540, 540, 540, 540, 540, 
	519, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 540, 540, 540, 540, 540, 
	540, 540, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 540, 540, 540, 540, 
	519, 540, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 545, 519, 
	519, 519, 519, 519, 540, 540, 540, 540, 
	540, 519, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 540, 540, 540, 540, 
	540, 540, 540, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 540, 540, 540, 
	540, 519, 540, 519, 519, 519, 519, 541, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 540, 540, 540, 
	540, 540, 519, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 540, 540, 540, 
	540, 540, 540, 540, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 540, 540, 
	540, 540, 519, 540, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 546, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 540, 540, 
	540, 540, 540, 519, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 540, 540, 
	540, 540, 540, 540, 540, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 540, 
	540, 540, 540, 519, 540, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	547, 519, 519, 519, 519, 519, 519, 519, 
	548, 519, 519, 519, 519, 519, 519, 540, 
	540, 540, 540, 540, 519, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 540, 
	540, 540, 540, 540, 540, 540, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	540, 540, 540, 540, 519, 540, 519, 519, 
	519, 519, 549, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	540, 540, 540, 540, 540, 519, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	540, 540, 540, 540, 540, 540, 540, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 540, 540, 540, 540, 519, 540, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 550, 519, 519, 519, 519, 519, 519, 
	519, 540, 540, 540, 540, 540, 519, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 540, 540, 540, 540, 540, 540, 540, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 540, 540, 540, 540, 519, 540, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 541, 519, 519, 519, 519, 519, 
	519, 519, 540, 540, 540, 540, 540, 519, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 540, 540, 540, 540, 540, 540, 
	540, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 540, 540, 540, 540, 519, 
	540, 519, 519, 519, 519, 519, 519, 519, 
	519, 551, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 540, 540, 540, 540, 540, 
	519, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 540, 540, 540, 540, 540, 
	540, 540, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 540, 540, 540, 540, 
	519, 540, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 541, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 540, 540, 540, 540, 
	540, 519, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 540, 540, 540, 540, 
	540, 540, 540, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 540, 540, 540, 
	540, 519, 540, 519, 519, 519, 519, 519, 
	519, 519, 552, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 540, 540, 540, 
	540, 540, 519, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 540, 540, 540, 
	540, 540, 540, 540, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 540, 540, 
	540, 540, 519, 540, 519, 519, 519, 519, 
	519, 519, 519, 519, 553, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 540, 540, 
	540, 540, 540, 519, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 540, 540, 540, 540, 
	540, 540, 540, 540, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 540, 540, 
	540, 540, 540, 540, 540, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 540, 
	540, 540, 540, 519, 540, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 519, 
	545, 519, 519, 519, 519, 519, 519, 519, 
	519, 519, 519, 519, 519, 519, 519, 540, 
	540, 540, 540, 540, 519, 555, 125, 125, 
	125, 555, 125, 125, 125, 125, 556, 557, 
	556, 556, 556, 125, 125, 125, 125, 125, 
	125, 125, 125, 125, 125, 125, 125, 555, 
	125, 125, 125, 125, 125, 556, 558, 125, 
	559, 125, 560, 561, 125, 562, 125, 563, 
	564, 125, 565, 566, 567, 125, 125, 125, 
	125, 125, 125, 125, 125, 125, 125, 568, 
	125, 569, 570, 571, 572, 125, 573, 574, 
	573, 573, 575, 573, 573, 573, 573, 573, 
	573, 573, 573, 573, 573, 573, 573, 573, 
	573, 573, 573, 573, 573, 573, 573, 573, 
	576, 577, 125, 578, 579, 125, 580, 581, 
	582, 583, 584, 585, 554, 554, 586, 554, 
	554, 554, 587, 588, 589, 554, 554, 590, 
	591, 592, 593, 554, 594, 554, 595, 554, 
	596, 597, 125, 578, 125, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 602, 
	601, 601, 603, 601, 604, 606, 607, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 608, 605, 
	610, 609, 611, 612, 613, 556, 614, 556, 
	556, 556, 614, 614, 614, 614, 614, 614, 
	614, 614, 614, 614, 614, 614, 614, 614, 
	614, 614, 614, 614, 556, 614, 616, 615, 
	618, 619, 618, 618, 618, 617, 617, 617, 
	617, 617, 617, 617, 617, 617, 617, 617, 
	617, 617, 617, 617, 617, 617, 617, 618, 
	617, 125, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 125, 620, 621, 622, 623, 624, 
	626, 626, 626, 626, 626, 626, 626, 626, 
	626, 626, 626, 626, 626, 626, 626, 626, 
	626, 626, 626, 626, 626, 626, 626, 626, 
	626, 626, 626, 626, 626, 626, 626, 626, 
	626, 626, 626, 626, 626, 626, 626, 626, 
	626, 626, 626, 626, 626, 626, 626, 626, 
	625, 625, 625, 625, 625, 625, 625, 625, 
	625, 625, 626, 626, 626, 626, 626, 626, 
	626, 627, 627, 627, 627, 627, 627, 627, 
	627, 627, 627, 627, 627, 627, 627, 627, 
	627, 627, 627, 627, 627, 627, 627, 627, 
	627, 627, 627, 626, 626, 626, 626, 626, 
	626, 627, 627, 627, 627, 627, 627, 627, 
	627, 627, 627, 627, 627, 627, 627, 627, 
	627, 627, 627, 627, 627, 627, 627, 627, 
	627, 627, 627, 626, 626, 626, 626, 626, 
	625, 629, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	125, 628, 630, 632, 631, 631, 631, 631, 
	631, 631, 631, 631, 631, 631, 631, 631, 
	631, 631, 631, 631, 631, 631, 125, 631, 
	125, 115, 126, 127, 126, 126, 126, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 126, 628, 628, 128, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 129, 129, 129, 129, 129, 129, 129, 
	129, 129, 129, 628, 628, 628, 125, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 130, 628, 143, 
	144, 143, 143, 143, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 143, 142, 
	142, 145, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 146, 146, 
	146, 146, 146, 146, 146, 146, 146, 146, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 142, 142, 142, 142, 142, 142, 
	142, 142, 147, 142, 126, 127, 126, 126, 
	126, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 126, 628, 628, 128, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 129, 129, 129, 129, 129, 
	129, 129, 129, 129, 129, 628, 628, 628, 
	125, 125, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 628, 
	628, 628, 628, 628, 628, 628, 628, 130, 
	628, 634, 620, 636, 635, 638, 637, 620, 
	639, 639, 639, 620, 639, 639, 639, 639, 
	639, 639, 639, 639, 639, 639, 639, 639, 
	639, 639, 639, 639, 639, 639, 639, 639, 
	639, 620, 639, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 641, 642, 620, 643, 
	151, 644, 642, 620, 620, 645, 646, 620, 
	646, 620, 151, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 647, 620, 648, 
	649, 650, 620, 651, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 652, 620, 
	620, 151, 640, 151, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 620, 653, 
	620, 654, 620, 640, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 656, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 655, 655, 
	655, 657, 655, 656, 655, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 655, 
	655, 655, 655, 640, 655, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 640, 
	640, 640, 640, 640, 640, 640, 640, 655, 
	655, 655, 655, 655, 640, 659, 658, 660, 
	662, 663, 661, 661, 661, 661, 661, 661, 
	661, 661, 661, 661, 661, 661, 661, 661, 
	661, 661, 661, 661, 661, 661, 661, 661, 
	661, 661, 661, 661, 661, 661, 661, 661, 
	661, 661, 661, 661, 661, 661, 661, 661, 
	661, 661, 661, 661, 661, 661, 661, 661, 
	661, 661, 661, 661, 661, 661, 661, 661, 
	661, 661, 661, 661, 661, 661, 661, 661, 
	661, 664, 661, 666, 667, 665, 668, 669, 
	670, 671, 151, 655, 655, 672, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 151, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 655, 655, 655, 
	655, 655, 655, 655, 655, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 655, 
	655, 655, 655, 655, 655, 655, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	655, 655, 655, 655, 150, 655, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	150, 150, 150, 150, 150, 150, 150, 150, 
	655, 655, 655, 655, 655, 150, 153, 153, 
	153, 153, 153, 153, 153, 153, 153, 153, 
	655, 673, 655, 151, 655, 151, 655, 151, 
	674, 655, 151, 655, 151, 655, 151, 151, 
	655, 675, 675, 675, 675, 675, 675, 675, 
	675, 675, 675, 675, 675, 675, 675, 675, 
	675, 675, 675, 675, 675, 675, 675, 675, 
	675, 675, 675, 675, 675, 675, 675, 675, 
	675, 675, 675, 675, 675, 675, 675, 675, 
	675, 675, 675, 675, 675, 675, 675, 675, 
	675, 677, 677, 677, 677, 677, 677, 677, 
	677, 677, 677, 675, 675, 675, 675, 675, 
	675, 678, 676, 676, 676, 676, 676, 676, 
	676, 676, 676, 676, 676, 676, 676, 676, 
	676, 676, 676, 676, 676, 676, 676, 676, 
	676, 676, 676, 676, 675, 675, 675, 675, 
	676, 675, 676, 676, 676, 676, 676, 676, 
	676, 676, 676, 676, 676, 676, 676, 676, 
	676, 676, 676, 676, 676, 676, 676, 676, 
	676, 676, 676, 676, 675, 675, 675, 675, 
	675, 676, 680, 680, 680, 680, 680, 680, 
	680, 680, 680, 680, 679, 681, 681, 681, 
	681, 681, 681, 681, 681, 681, 681, 681, 
	681, 681, 681, 681, 681, 681, 681, 681, 
	681, 681, 681, 681, 681, 681, 681, 681, 
	681, 681, 681, 681, 681, 681, 681, 681, 
	681, 681, 681, 681, 681, 681, 681, 681, 
	681, 681, 681, 681, 681, 683, 683, 683, 
	683, 683, 683, 683, 683, 683, 683, 681, 
	681, 681, 681, 681, 681, 681, 682, 682, 
	682, 682, 682, 682, 682, 682, 682, 682, 
	682, 682, 682, 682, 682, 682, 682, 682, 
	682, 682, 682, 682, 682, 682, 682, 682, 
	681, 681, 681, 681, 682, 681, 682, 682, 
	682, 682, 682, 682, 682, 682, 682, 682, 
	682, 682, 682, 682, 682, 682, 682, 682, 
	682, 682, 682, 682, 682, 682, 682, 682, 
	681, 681, 681, 681, 681, 682, 673, 655, 
	672, 655, 684, 685, 620, 686, 166, 156, 
	156, 156, 156, 156, 156, 156, 156, 156, 
	156, 156, 156, 156, 156, 156, 156, 156, 
	156, 156, 156, 156, 156, 156, 167, 156, 
	168, 157, 157, 157, 157, 157, 157, 157, 
	157, 157, 157, 157, 157, 157, 157, 157, 
	157, 157, 157, 157, 157, 157, 157, 157, 
	157, 157, 157, 157, 157, 167, 157, 167, 
	170, 125, 620, 578, 125, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 125, 620, 125, 629, 
	620, 690, 689, 689, 689, 690, 689, 689, 
	689, 689, 689, 689, 689, 689, 689, 689, 
	689, 689, 689, 689, 689, 689, 689, 689, 
	689, 689, 689, 690, 689, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 172, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 173, 
	115, 115, 174, 115, 172, 115, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	115, 115, 115, 115, 171, 115, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	115, 115, 115, 115, 115, 171, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 172, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	173, 620, 620, 174, 620, 172, 620, 171, 
	171, 171, 171, 691, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 620, 620, 620, 620, 171, 620, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 620, 620, 620, 620, 620, 171, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	172, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 173, 620, 620, 174, 620, 172, 620, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 692, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 620, 620, 620, 620, 171, 620, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 171, 171, 171, 171, 171, 171, 
	171, 171, 620, 620, 620, 620, 620, 171, 
	693, 694, 620, 615, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 695, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 696, 697, 554, 554, 554, 554, 
	554, 698, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 699, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 700, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 701, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 702, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 703, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 704, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 705, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 706, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 707, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 115, 
	172, 115, 115, 115, 115, 115, 115, 115, 
	115, 115, 115, 115, 115, 115, 115, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 115, 115, 174, 115, 172, 115, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 115, 115, 115, 115, 554, 115, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 115, 115, 115, 115, 115, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 708, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 709, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 705, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 710, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 709, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 711, 554, 712, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 713, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	714, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 707, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 707, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 715, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 716, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 554, 
	554, 554, 717, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 718, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 707, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 719, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	720, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 707, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 721, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 722, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 723, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 554, 
	707, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 724, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	714, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 725, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 707, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	554, 554, 554, 554, 554, 707, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 726, 554, 727, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 728, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 707, 
	554, 554, 554, 725, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 707, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 729, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 730, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 723, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 731, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 589, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 721, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 707, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 554, 554, 732, 
	554, 554, 554, 554, 554, 554, 554, 707, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 733, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 734, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 735, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 723, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 736, 554, 554, 554, 737, 
	554, 554, 554, 554, 554, 738, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 738, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 707, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 707, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 739, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 740, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 741, 742, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 707, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	743, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 744, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	554, 554, 554, 554, 745, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	746, 746, 746, 746, 746, 746, 746, 746, 
	746, 746, 746, 746, 746, 746, 746, 746, 
	746, 746, 746, 746, 746, 746, 746, 746, 
	746, 746, 746, 746, 746, 746, 746, 746, 
	746, 748, 746, 746, 746, 746, 746, 746, 
	746, 746, 746, 746, 746, 746, 746, 746, 
	747, 747, 747, 747, 747, 747, 747, 747, 
	747, 747, 749, 746, 746, 750, 746, 748, 
	746, 747, 747, 747, 747, 747, 747, 747, 
	747, 747, 747, 747, 747, 747, 747, 747, 
	747, 747, 747, 747, 747, 747, 747, 747, 
	747, 747, 747, 746, 746, 746, 746, 747, 
	746, 747, 747, 747, 747, 747, 747, 747, 
	747, 747, 747, 747, 747, 747, 747, 747, 
	747, 747, 747, 747, 747, 747, 747, 747, 
	747, 747, 747, 746, 746, 746, 746, 746, 
	747, 606, 751, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 605, 605, 605, 605, 605, 605, 
	605, 605, 608, 605, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 752, 554, 
	554, 753, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 707, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	718, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	554, 554, 554, 554, 754, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 755, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 725, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 756, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 589, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 554, 
	554, 554, 554, 757, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 758, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 718, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 723, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 759, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	554, 554, 554, 760, 554, 554, 554, 554, 
	554, 554, 554, 761, 554, 554, 554, 554, 
	554, 554, 554, 762, 554, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 725, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 554, 763, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 764, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 732, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 765, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 598, 
	599, 599, 599, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 172, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 173, 
	598, 598, 174, 598, 172, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 600, 598, 598, 554, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 732, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	598, 598, 598, 598, 598, 554, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	598, 599, 599, 599, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 599, 172, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	173, 598, 598, 174, 598, 172, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 600, 598, 598, 554, 598, 554, 
	554, 554, 554, 554, 554, 554, 766, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 598, 598, 598, 598, 598, 554, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 598, 599, 599, 599, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 599, 
	172, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 173, 598, 598, 174, 598, 172, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 600, 598, 598, 554, 598, 
	554, 554, 554, 554, 718, 554, 554, 554, 
	767, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 598, 598, 598, 598, 598, 554, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 598, 599, 599, 599, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	599, 172, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 173, 598, 598, 174, 598, 172, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 600, 598, 598, 554, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 768, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 598, 598, 598, 598, 598, 
	554, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 598, 599, 599, 599, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 599, 172, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 173, 598, 598, 174, 598, 
	172, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 600, 598, 598, 
	554, 598, 554, 554, 554, 554, 732, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 598, 598, 598, 598, 
	598, 554, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 598, 599, 599, 599, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 599, 172, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 173, 598, 598, 174, 
	598, 172, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 600, 598, 
	598, 554, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 769, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 598, 598, 598, 
	598, 598, 554, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 598, 599, 599, 
	599, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 599, 172, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 173, 598, 598, 
	174, 598, 172, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 600, 
	598, 598, 554, 598, 554, 554, 554, 554, 
	770, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 598, 598, 
	598, 598, 598, 554, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 599, 598, 599, 
	599, 599, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 599, 172, 598, 598, 
	598, 598, 598, 598, 598, 598, 598, 598, 
	598, 598, 598, 598, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 173, 598, 
	598, 174, 598, 172, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	600, 598, 598, 554, 598, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 554, 
	712, 554, 554, 554, 554, 554, 554, 554, 
	554, 554, 554, 554, 554, 554, 554, 598, 
	598, 598, 598, 598, 554, 771, 125, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 620, 620, 620, 
	620, 620, 620, 620, 620, 772, 620, 774, 
	773, 773, 773, 774, 773, 773, 773, 773, 
	775, 776, 775, 775, 775, 773, 773, 773, 
	773, 773, 773, 773, 773, 773, 773, 773, 
	773, 774, 773, 773, 773, 773, 773, 775, 
	773, 773, 777, 773, 773, 773, 773, 773, 
	773, 773, 773, 773, 773, 773, 773, 773, 
	773, 773, 773, 773, 773, 773, 773, 773, 
	773, 773, 773, 773, 773, 773, 773, 773, 
	773, 773, 773, 773, 773, 773, 773, 773, 
	773, 773, 773, 773, 773, 773, 773, 773, 
	773, 773, 773, 773, 773, 773, 773, 773, 
	773, 773, 773, 778, 773, 775, 779, 775, 
	775, 775, 779, 779, 779, 779, 779, 779, 
	779, 779, 779, 779, 779, 779, 779, 779, 
	779, 779, 779, 779, 775, 779, 780, 781, 
	782, 783, 784, 786, 785, 787, 789, 790, 
	790, 790, 789, 790, 790, 790, 790, 791, 
	792, 791, 791, 791, 790, 790, 790, 790, 
	790, 790, 790, 790, 790, 790, 790, 790, 
	789, 790, 790, 790, 790, 790, 791, 790, 
	793, 794, 790, 790, 790, 793, 790, 790, 
	790, 790, 790, 790, 790, 790, 790, 790, 
	790, 790, 790, 790, 790, 790, 790, 790, 
	790, 790, 790, 790, 790, 790, 790, 788, 
	788, 788, 788, 788, 788, 788, 788, 788, 
	788, 788, 788, 788, 788, 788, 788, 788, 
	788, 788, 788, 788, 788, 788, 788, 788, 
	788, 790, 795, 790, 790, 788, 790, 788, 
	788, 788, 788, 788, 788, 788, 788, 788, 
	788, 788, 788, 788, 788, 788, 788, 788, 
	788, 788, 788, 788, 788, 788, 788, 788, 
	788, 790, 790, 790, 790, 790, 788, 796, 
	796, 796, 796, 796, 796, 796, 796, 796, 
	796, 796, 796, 796, 796, 796, 796, 796, 
	796, 796, 796, 796, 796, 796, 796, 796, 
	796, 796, 796, 796, 796, 796, 796, 796, 
	180, 796, 796, 796, 796, 796, 796, 796, 
	796, 796, 796, 796, 796, 796, 796, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 181, 796, 796, 796, 796, 180, 796, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 796, 796, 796, 796, 179, 796, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 179, 179, 179, 179, 179, 179, 
	179, 179, 796, 796, 796, 796, 796, 179, 
	791, 797, 791, 791, 791, 797, 797, 797, 
	797, 797, 797, 797, 797, 797, 797, 797, 
	797, 797, 797, 797, 797, 797, 797, 791, 
	797, 798, 799, 800, 801, 802, 803, 796, 
	804, 806, 807, 807, 807, 806, 807, 807, 
	807, 807, 808, 809, 808, 808, 808, 807, 
	807, 807, 807, 807, 807, 807, 807, 807, 
	807, 807, 807, 806, 807, 807, 807, 807, 
	807, 808, 810, 811, 812, 813, 814, 815, 
	811, 816, 817, 818, 814, 819, 820, 821, 
	814, 822, 823, 823, 823, 823, 823, 823, 
	823, 823, 823, 824, 825, 826, 827, 828, 
	829, 830, 831, 832, 831, 831, 833, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 834, 835, 836, 814, 
	837, 811, 838, 839, 840, 841, 842, 843, 
	805, 805, 844, 805, 805, 805, 845, 846, 
	847, 805, 805, 848, 849, 850, 851, 805, 
	852, 805, 853, 805, 854, 855, 856, 857, 
	807, 805, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 858, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 189, 189, 189, 189, 
	189, 858, 189, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 189, 189, 189, 
	189, 805, 189, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 189, 189, 189, 
	189, 189, 805, 860, 859, 861, 808, 862, 
	808, 808, 808, 862, 862, 862, 862, 862, 
	862, 862, 862, 862, 862, 862, 862, 862, 
	862, 862, 862, 862, 862, 808, 862, 863, 
	865, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 865, 864, 866, 867, 868, 869, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	184, 184, 870, 184, 870, 184, 184, 870, 
	870, 184, 184, 184, 871, 184, 184, 872, 
	872, 872, 872, 872, 872, 872, 872, 872, 
	872, 184, 184, 184, 184, 184, 184, 184, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 870, 184, 870, 870, 201, 184, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 870, 870, 870, 184, 870, 201, 
	873, 873, 873, 873, 873, 873, 873, 873, 
	873, 873, 873, 873, 873, 873, 873, 873, 
	873, 873, 873, 873, 873, 873, 873, 873, 
	873, 873, 873, 873, 873, 873, 873, 873, 
	873, 873, 873, 873, 873, 873, 873, 873, 
	873, 873, 873, 873, 873, 873, 873, 873, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 873, 873, 873, 873, 873, 873, 
	873, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 873, 873, 873, 873, 201, 
	873, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 873, 873, 873, 873, 873, 
	201, 872, 872, 872, 872, 872, 872, 872, 
	872, 872, 872, 873, 874, 189, 814, 875, 
	875, 875, 875, 875, 875, 875, 876, 875, 
	875, 875, 875, 875, 875, 875, 875, 875, 
	875, 875, 875, 875, 875, 874, 875, 877, 
	878, 814, 879, 879, 879, 879, 879, 879, 
	879, 879, 879, 879, 879, 879, 879, 879, 
	879, 879, 879, 879, 874, 879, 874, 880, 
	875, 882, 881, 188, 188, 188, 188, 188, 
	188, 188, 188, 188, 188, 881, 884, 883, 
	885, 883, 188, 188, 188, 188, 188, 188, 
	188, 188, 188, 188, 886, 886, 886, 886, 
	886, 886, 886, 886, 886, 886, 886, 887, 
	886, 886, 886, 886, 886, 886, 886, 886, 
	886, 886, 886, 886, 886, 886, 886, 886, 
	886, 886, 886, 886, 886, 886, 886, 886, 
	886, 888, 886, 886, 886, 886, 886, 887, 
	886, 187, 187, 187, 187, 187, 187, 187, 
	187, 187, 187, 886, 886, 886, 886, 886, 
	886, 886, 886, 886, 886, 886, 886, 886, 
	886, 886, 886, 886, 886, 886, 886, 886, 
	886, 886, 886, 886, 886, 886, 886, 886, 
	886, 886, 886, 886, 886, 886, 886, 886, 
	186, 886, 890, 889, 891, 891, 891, 891, 
	891, 891, 891, 891, 891, 891, 889, 889, 
	889, 889, 889, 889, 889, 889, 892, 889, 
	893, 894, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 895, 889, 889, 889, 889, 
	889, 889, 889, 889, 896, 889, 889, 889, 
	889, 889, 889, 897, 889, 889, 892, 889, 
	893, 894, 889, 889, 889, 898, 889, 889, 
	889, 889, 889, 895, 889, 889, 899, 889, 
	889, 889, 889, 889, 896, 889, 190, 190, 
	190, 190, 190, 190, 190, 190, 190, 190, 
	900, 900, 900, 900, 900, 900, 900, 900, 
	900, 900, 900, 901, 900, 900, 900, 900, 
	900, 900, 900, 900, 900, 900, 900, 900, 
	900, 900, 900, 900, 900, 900, 900, 900, 
	900, 900, 900, 900, 900, 902, 900, 900, 
	900, 900, 900, 901, 900, 900, 900, 903, 
	900, 900, 900, 900, 900, 900, 900, 900, 
	904, 900, 905, 189, 905, 189, 189, 191, 
	191, 191, 191, 191, 191, 191, 191, 191, 
	191, 189, 191, 191, 191, 191, 191, 191, 
	191, 191, 191, 191, 906, 906, 906, 906, 
	906, 906, 906, 906, 906, 906, 906, 906, 
	906, 906, 906, 906, 906, 906, 906, 906, 
	906, 906, 906, 906, 906, 906, 906, 906, 
	906, 906, 906, 906, 906, 906, 906, 906, 
	906, 905, 906, 906, 906, 906, 906, 906, 
	906, 906, 906, 907, 906, 909, 908, 910, 
	912, 911, 911, 911, 913, 911, 914, 915, 
	891, 891, 891, 891, 891, 891, 891, 891, 
	891, 891, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 889, 889, 889, 889, 897, 
	889, 889, 889, 889, 889, 889, 889, 889, 
	889, 898, 889, 889, 889, 889, 889, 889, 
	889, 889, 899, 889, 916, 916, 916, 916, 
	916, 916, 916, 916, 916, 916, 889, 889, 
	889, 889, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 889, 889, 889, 889, 889, 
	889, 889, 889, 917, 889, 889, 889, 889, 
	889, 889, 889, 889, 889, 898, 889, 889, 
	889, 889, 889, 889, 889, 889, 899, 889, 
	919, 919, 919, 919, 919, 919, 919, 919, 
	919, 919, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 920, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 921, 918, 918, 918, 918, 918, 918, 
	918, 918, 922, 918, 919, 919, 919, 919, 
	919, 919, 919, 919, 919, 919, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 923, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 921, 918, 918, 
	918, 918, 918, 918, 918, 918, 922, 918, 
	921, 918, 918, 918, 918, 918, 918, 918, 
	918, 922, 918, 925, 924, 926, 928, 927, 
	927, 927, 929, 927, 931, 930, 932, 933, 
	935, 935, 934, 934, 934, 934, 934, 934, 
	934, 934, 934, 934, 934, 934, 934, 934, 
	934, 934, 934, 934, 934, 934, 934, 934, 
	934, 934, 934, 934, 934, 934, 934, 934, 
	934, 934, 934, 934, 934, 934, 934, 934, 
	934, 934, 934, 934, 934, 934, 934, 936, 
	934, 934, 934, 934, 934, 934, 934, 934, 
	934, 937, 934, 934, 934, 934, 934, 934, 
	934, 934, 938, 934, 939, 939, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 940, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 921, 918, 918, 
	918, 918, 918, 918, 918, 918, 922, 918, 
	939, 939, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 923, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 921, 918, 918, 918, 918, 918, 918, 
	918, 918, 922, 918, 942, 942, 942, 942, 
	942, 942, 942, 942, 942, 942, 941, 941, 
	941, 941, 941, 941, 941, 941, 941, 941, 
	941, 941, 941, 941, 941, 941, 941, 941, 
	941, 941, 941, 941, 941, 941, 941, 941, 
	941, 941, 941, 941, 941, 941, 941, 941, 
	941, 941, 941, 943, 941, 941, 941, 941, 
	941, 941, 941, 941, 941, 944, 941, 941, 
	941, 941, 941, 941, 941, 941, 945, 941, 
	947, 947, 947, 947, 947, 947, 947, 947, 
	947, 947, 946, 946, 946, 946, 946, 946, 
	946, 946, 946, 946, 946, 946, 946, 946, 
	946, 946, 946, 946, 946, 946, 946, 946, 
	946, 946, 946, 946, 946, 946, 946, 946, 
	946, 946, 946, 946, 946, 946, 946, 948, 
	946, 946, 946, 946, 946, 946, 946, 946, 
	946, 949, 946, 946, 946, 946, 946, 946, 
	946, 946, 950, 946, 952, 952, 952, 952, 
	952, 952, 952, 952, 952, 952, 951, 951, 
	951, 951, 951, 951, 951, 952, 952, 952, 
	952, 952, 952, 951, 951, 951, 951, 951, 
	951, 951, 951, 951, 951, 951, 951, 951, 
	951, 951, 951, 951, 951, 951, 951, 951, 
	951, 951, 951, 953, 951, 952, 952, 952, 
	952, 952, 952, 951, 951, 954, 951, 951, 
	951, 951, 951, 951, 951, 951, 955, 951, 
	956, 956, 956, 956, 956, 956, 956, 956, 
	956, 956, 918, 918, 918, 918, 918, 918, 
	918, 956, 956, 956, 956, 956, 956, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 957, 
	918, 956, 956, 956, 956, 956, 956, 918, 
	918, 921, 918, 918, 918, 918, 918, 918, 
	918, 918, 922, 918, 956, 956, 956, 956, 
	956, 956, 956, 956, 956, 956, 918, 918, 
	918, 918, 918, 918, 918, 956, 956, 956, 
	956, 956, 956, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 923, 918, 956, 956, 956, 
	956, 956, 956, 918, 918, 921, 918, 918, 
	918, 918, 918, 918, 918, 918, 922, 918, 
	959, 958, 960, 960, 960, 960, 960, 960, 
	960, 960, 960, 960, 958, 958, 958, 958, 
	958, 958, 958, 958, 958, 958, 958, 961, 
	958, 958, 958, 958, 958, 958, 958, 958, 
	958, 958, 958, 958, 958, 958, 958, 958, 
	958, 958, 958, 958, 958, 958, 958, 958, 
	958, 962, 958, 958, 958, 958, 958, 961, 
	958, 958, 958, 963, 958, 958, 958, 958, 
	958, 958, 958, 958, 964, 958, 965, 965, 
	965, 965, 965, 965, 965, 965, 965, 965, 
	958, 958, 958, 958, 958, 958, 958, 958, 
	958, 958, 958, 958, 958, 958, 958, 958, 
	958, 958, 958, 958, 958, 958, 958, 958, 
	958, 958, 958, 958, 958, 958, 958, 958, 
	958, 958, 958, 958, 958, 966, 958, 958, 
	958, 958, 958, 958, 958, 958, 958, 963, 
	958, 958, 958, 958, 958, 958, 958, 958, 
	964, 958, 967, 918, 968, 968, 968, 968, 
	968, 968, 968, 968, 968, 968, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 969, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 970, 918, 918, 918, 918, 
	918, 969, 918, 918, 918, 921, 918, 918, 
	918, 918, 918, 918, 918, 918, 922, 918, 
	968, 968, 968, 968, 968, 968, 968, 968, 
	968, 968, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 918, 918, 918, 918, 918, 918, 923, 
	918, 918, 918, 918, 918, 918, 918, 918, 
	918, 921, 918, 918, 918, 918, 918, 918, 
	918, 918, 922, 918, 876, 883, 814, 971, 
	875, 865, 875, 972, 973, 883, 883, 883, 
	883, 883, 883, 883, 883, 883, 883, 883, 
	883, 883, 883, 883, 883, 883, 883, 883, 
	883, 883, 883, 883, 883, 883, 883, 883, 
	883, 883, 883, 883, 883, 883, 883, 883, 
	883, 883, 883, 883, 883, 883, 883, 883, 
	883, 883, 883, 883, 883, 883, 883, 883, 
	883, 883, 883, 883, 883, 883, 883, 883, 
	883, 883, 883, 883, 865, 883, 865, 875, 
	865, 814, 875, 870, 870, 870, 870, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	870, 870, 870, 870, 870, 870, 870, 870, 
	870, 870, 870, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 870, 870, 870, 
	870, 870, 870, 974, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 870, 870, 
	870, 870, 201, 870, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 201, 201, 
	201, 201, 201, 201, 201, 201, 870, 870, 
	870, 870, 870, 201, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 189, 858, 189, 189, 
	189, 189, 189, 189, 189, 189, 189, 189, 
	189, 189, 189, 189, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 975, 189, 
	189, 189, 189, 858, 189, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 189, 
	189, 189, 189, 831, 189, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 189, 
	189, 189, 189, 189, 831, 976, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 858, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	975, 977, 977, 977, 977, 858, 977, 831, 
	831, 831, 831, 978, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 977, 977, 977, 977, 831, 977, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 977, 977, 977, 977, 977, 831, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	858, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 975, 977, 977, 977, 977, 858, 977, 
	831, 831, 831, 831, 831, 831, 979, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 977, 977, 977, 977, 831, 977, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 977, 977, 977, 977, 977, 831, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 858, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 975, 977, 977, 977, 977, 858, 
	977, 831, 831, 831, 831, 831, 831, 831, 
	831, 980, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 977, 977, 977, 977, 831, 
	977, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 977, 977, 977, 977, 977, 
	831, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 858, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 975, 977, 977, 977, 977, 
	858, 977, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 981, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 977, 977, 977, 977, 
	831, 977, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 977, 977, 977, 977, 
	977, 831, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 858, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 975, 977, 977, 977, 
	977, 858, 977, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	982, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 977, 977, 977, 
	977, 831, 977, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 977, 977, 977, 
	977, 977, 831, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 977, 858, 977, 977, 977, 
	977, 977, 977, 977, 977, 977, 977, 977, 
	977, 977, 977, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 975, 977, 977, 
	977, 977, 858, 977, 831, 831, 831, 981, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 977, 977, 
	977, 977, 831, 977, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 831, 831, 
	831, 831, 831, 831, 831, 831, 977, 977, 
	977, 977, 977, 831, 983, 985, 984, 986, 
	987, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	989, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 990, 
	991, 805, 805, 805, 805, 805, 992, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 993, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 994, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 995, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 996, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	997, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 998, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	999, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 1000, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 1001, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 1002, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1003, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 1004, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 1005, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 1006, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 1007, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	1003, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1008, 
	805, 1009, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 1010, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 1011, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1012, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 1013, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 1014, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 1015, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 805, 805, 
	1016, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 1017, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1013, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 1018, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 1019, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1020, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	1021, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 1022, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 1023, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 1013, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 1024, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1025, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1026, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 1027, 1027, 1027, 
	1027, 1027, 1027, 1027, 1027, 1027, 203, 204, 
	203, 203, 203, 1027, 1027, 1027, 1027, 1027, 
	1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 
	1027, 1027, 1027, 1027, 1027, 203, 858, 1027, 
	205, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 
	1027, 1027, 1027, 1027, 1027, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1027, 
	1027, 206, 1027, 1027, 858, 1027, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	1027, 207, 1027, 1027, 805, 1027, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	1027, 1027, 1027, 1027, 1027, 805, 220, 221, 
	220, 220, 220, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 220, 219, 219, 
	222, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 225, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 219, 219, 219, 219, 219, 219, 219, 
	219, 224, 219, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	1029, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 1030, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 1031, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 1032, 1032, 1032, 
	1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 
	1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 
	1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 
	1032, 1032, 1032, 1032, 1032, 1032, 858, 1032, 
	1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032, 
	1032, 1032, 1032, 1032, 1032, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1032, 
	1032, 1032, 1032, 1032, 858, 1032, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	1032, 1032, 1032, 1032, 805, 1032, 805, 805, 
	805, 805, 805, 805, 805, 805, 1033, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	1032, 1032, 1032, 1032, 1032, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 1034, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 1035, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 1036, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	1037, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1038, 805, 
	1039, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1040, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 1013, 805, 805, 805, 1041, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 805, 1013, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 1006, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1042, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 1043, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 1023, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 1044, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	847, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1045, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1046, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 1006, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1013, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 1047, 805, 805, 805, 
	805, 805, 805, 805, 1013, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1048, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 1049, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1050, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1023, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	1051, 805, 805, 805, 1052, 805, 805, 805, 
	805, 805, 1053, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 1054, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1020, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 1006, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 1055, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 1056, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 1057, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 1058, 1059, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1006, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 1060, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1061, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 1047, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	1062, 805, 805, 1063, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	1006, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 1064, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1020, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 1065, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1066, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1067, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 1006, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 1068, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 1069, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1055, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	1070, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 1071, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 1017, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1046, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 1072, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	1073, 805, 805, 805, 805, 805, 805, 805, 
	1074, 805, 805, 805, 805, 805, 805, 805, 
	1075, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 1076, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 1012, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 1077, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 1078, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 1047, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 1079, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 1047, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 858, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 858, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 805, 988, 805, 805, 805, 
	805, 805, 805, 805, 1080, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 805, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 858, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 988, 
	988, 988, 988, 988, 858, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 805, 988, 805, 805, 
	805, 805, 1017, 805, 805, 805, 1081, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 805, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 858, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	988, 988, 988, 988, 988, 858, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 805, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 1082, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 805, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	858, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 988, 988, 988, 988, 988, 858, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 805, 988, 
	805, 805, 805, 805, 1047, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 805, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 858, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 988, 988, 988, 988, 988, 858, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 805, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 1083, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	805, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 858, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 988, 988, 988, 988, 988, 
	858, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	805, 988, 805, 805, 805, 805, 1084, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 805, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 858, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 988, 988, 988, 988, 
	988, 858, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 805, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 1085, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 805, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 988, 858, 988, 988, 988, 
	988, 988, 988, 988, 988, 988, 988, 988, 
	988, 988, 988, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 988, 988, 988, 
	988, 988, 858, 988, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 805, 988, 805, 805, 805, 1055, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 805, 805, 
	805, 805, 805, 805, 805, 805, 988, 988, 
	988, 988, 988, 805, 1086, 874, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 864, 864, 864, 864, 
	864, 864, 864, 864, 814, 864, 1087, 1089, 
	1088, 1089, 1089, 1089, 1088, 1088, 1088, 1088, 
	1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 
	1088, 1088, 1088, 1088, 1088, 1088, 1089, 1088, 
	1088, 1090, 1088, 1088, 1091, 1088, 1088, 1088, 
	1088, 1088, 1088, 1088, 233, 1088, 1088, 1088, 
	1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 
	1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 
	1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 
	1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 
	1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 
	1088, 1088, 1092, 1088, 229, 230, 229, 229, 
	229, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 
	1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 
	1093, 1093, 1093, 229, 1093, 1093, 231, 1093, 
	1093, 232, 1093, 1093, 1093, 1093, 1093, 1093, 
	1093, 233, 1093, 1093, 1093, 1093, 1093, 1093, 
	1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 
	1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 
	1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 
	1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 
	1093, 1093, 1093, 1093, 1093, 1093, 1093, 234, 
	1093, 236, 1094, 236, 236, 236, 1094, 1094, 
	1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 
	1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 
	236, 1094, 1094, 231, 1094, 1094, 1094, 1094, 
	1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 
	1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 
	1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 
	1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 
	1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 
	1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094, 
	1094, 1094, 1094, 1094, 234, 1094, 1096, 1095, 
	1098, 1097, 239, 238, 244, 1093, 242, 1093, 
	1100, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1101, 1099, 1100, 1099, 1100, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1103, 1099, 1100, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1104, 1099, 1100, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 
	1099, 1099, 1099, 1099, 1105, 1099, 1107, 1105, 
	1109, 1108, 1108, 1108, 1109, 1108, 1108, 1108, 
	1108, 1110, 1111, 1110, 1110, 1110, 1108, 1108, 
	1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 
	1108, 1108, 1109, 1108, 1108, 1108, 1108, 1108, 
	1110, 1108, 1108, 1112, 1108, 1108, 1108, 1108, 
	1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 
	1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 
	1108, 1108, 1108, 1108, 1108, 1113, 1108, 1108, 
	1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 
	1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 
	1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 
	1108, 1108, 1108, 1108, 1114, 1108, 1108, 1115, 
	1108, 1110, 1116, 1110, 1110, 1110, 1116, 1116, 
	1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 
	1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 
	1110, 1116, 1117, 1118, 1119, 1120, 1121, 1123, 
	1122, 1125, 1126, 1125, 1125, 1125, 1124, 1124, 
	1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 
	1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 
	1125, 1124, 1111, 1122, 1127, 1122, 0
]

class << self
	attr_accessor :_lex_trans_targs
	private :_lex_trans_targs, :_lex_trans_targs=
end
self._lex_trans_targs = [
	130, 129, 0, 2, 131, 132, 4, 133, 
	134, 134, 134, 134, 247, 7, 8, 9, 
	247, 247, 276, 11, 12, 276, 276, 280, 
	280, 16, 11, 17, 278, 279, 281, 282, 
	280, 276, 283, 284, 286, 13, 14, 287, 
	288, 15, 280, 18, 19, 24, 31, 290, 
	291, 17, 278, 279, 281, 282, 280, 276, 
	283, 284, 286, 13, 14, 287, 288, 15, 
	18, 19, 24, 31, 290, 291, 289, 20, 
	21, 22, 23, 25, 26, 29, 27, 28, 
	30, 32, 33, 276, 35, 36, 37, 39, 
	42, 40, 41, 43, 45, 307, 307, 307, 
	308, 47, 310, 48, 311, 49, 308, 47, 
	310, 48, 311, 345, 50, 345, 51, 52, 
	50, 345, 51, 345, 345, 345, 55, 56, 
	57, 58, 356, 345, 345, 345, 61, 62, 
	63, 345, 66, 61, 62, 63, 345, 66, 
	64, 64, 62, 63, 366, 65, 64, 64, 
	62, 63, 366, 65, 62, 345, 383, 345, 
	68, 384, 390, 72, 399, 400, 77, 78, 
	72, 73, 398, 73, 398, 345, 74, 75, 
	76, 401, 79, 80, 347, 53, 349, 82, 
	83, 406, 508, 85, 86, 87, 508, 516, 
	516, 516, 90, 538, 537, 516, 540, 542, 
	516, 95, 96, 97, 546, 516, 99, 100, 
	557, 526, 579, 103, 104, 105, 109, 110, 
	103, 104, 105, 109, 110, 106, 106, 104, 
	105, 107, 108, 106, 106, 104, 105, 107, 
	108, 627, 104, 516, 696, 111, 698, 113, 
	117, 699, 115, 696, 112, 696, 114, 698, 
	114, 698, 116, 698, 696, 710, 119, 120, 
	121, 716, 123, 124, 125, 126, 127, 710, 
	710, 128, 1, 3, 129, 129, 129, 135, 
	134, 134, 136, 137, 138, 139, 141, 144, 
	145, 146, 147, 134, 148, 149, 151, 153, 
	154, 155, 159, 161, 162, 163, 179, 184, 
	191, 196, 203, 210, 213, 214, 218, 212, 
	222, 230, 234, 236, 241, 243, 246, 134, 
	134, 134, 134, 134, 134, 140, 134, 140, 
	134, 142, 5, 143, 134, 6, 134, 134, 
	150, 152, 134, 156, 157, 158, 154, 160, 
	134, 164, 165, 174, 177, 166, 167, 168, 
	169, 170, 171, 172, 173, 135, 175, 176, 
	178, 180, 183, 181, 182, 185, 188, 186, 
	187, 189, 190, 192, 194, 193, 195, 197, 
	198, 134, 199, 200, 201, 202, 134, 204, 
	207, 205, 206, 208, 209, 211, 215, 216, 
	217, 219, 221, 220, 223, 224, 225, 227, 
	226, 228, 229, 231, 232, 233, 235, 237, 
	238, 239, 240, 242, 244, 245, 248, 247, 
	247, 249, 250, 252, 253, 247, 247, 247, 
	251, 247, 251, 10, 254, 247, 256, 255, 
	255, 259, 260, 261, 262, 255, 264, 265, 
	266, 267, 269, 271, 272, 273, 274, 275, 
	255, 257, 255, 258, 255, 255, 255, 255, 
	255, 263, 255, 263, 268, 255, 270, 255, 
	276, 276, 277, 292, 293, 279, 295, 296, 
	283, 297, 298, 299, 300, 301, 303, 304, 
	305, 306, 276, 276, 276, 276, 276, 276, 
	280, 285, 276, 276, 276, 276, 276, 276, 
	276, 276, 276, 294, 276, 294, 276, 276, 
	276, 276, 302, 276, 34, 38, 44, 307, 
	309, 312, 46, 307, 307, 308, 313, 313, 
	314, 315, 317, 319, 320, 313, 313, 316, 
	313, 316, 313, 318, 313, 313, 313, 322, 
	321, 321, 323, 324, 325, 327, 329, 330, 
	335, 342, 321, 321, 321, 321, 326, 321, 
	326, 321, 328, 321, 321, 322, 331, 332, 
	333, 334, 336, 337, 340, 338, 339, 341, 
	343, 344, 346, 345, 354, 355, 357, 358, 
	360, 361, 362, 363, 365, 367, 368, 371, 
	372, 397, 403, 404, 405, 406, 407, 408, 
	409, 410, 364, 412, 429, 434, 441, 446, 
	448, 454, 457, 458, 462, 456, 466, 477, 
	481, 484, 492, 496, 499, 500, 345, 50, 
	51, 345, 53, 348, 345, 345, 350, 352, 
	353, 345, 351, 345, 345, 345, 345, 345, 
	54, 345, 345, 345, 345, 345, 359, 345, 
	359, 345, 345, 59, 345, 60, 345, 345, 
	364, 345, 369, 345, 370, 345, 345, 345, 
	373, 382, 345, 67, 385, 386, 387, 345, 
	388, 69, 391, 392, 70, 395, 396, 345, 
	374, 376, 345, 375, 345, 345, 377, 380, 
	381, 345, 378, 379, 345, 345, 345, 345, 
	345, 345, 389, 345, 383, 393, 394, 345, 
	393, 345, 383, 393, 71, 402, 345, 345, 
	345, 345, 345, 81, 84, 345, 411, 413, 
	414, 424, 427, 415, 416, 417, 418, 419, 
	420, 421, 422, 423, 425, 426, 428, 430, 
	433, 431, 432, 435, 438, 436, 437, 439, 
	440, 442, 444, 443, 445, 447, 449, 451, 
	450, 452, 453, 455, 423, 459, 460, 461, 
	463, 465, 464, 467, 468, 469, 474, 470, 
	471, 472, 345, 346, 347, 53, 473, 352, 
	475, 476, 478, 479, 480, 482, 483, 485, 
	486, 487, 490, 488, 489, 491, 493, 494, 
	495, 497, 498, 345, 364, 501, 501, 502, 
	503, 504, 506, 501, 501, 501, 505, 501, 
	505, 501, 507, 501, 509, 508, 508, 510, 
	511, 508, 512, 514, 508, 508, 508, 508, 
	513, 508, 513, 515, 508, 517, 516, 516, 
	520, 521, 522, 516, 523, 525, 528, 529, 
	530, 531, 532, 516, 533, 534, 539, 567, 
	571, 516, 572, 574, 576, 516, 577, 578, 
	580, 584, 586, 587, 589, 590, 608, 613, 
	620, 628, 635, 642, 647, 648, 652, 646, 
	657, 667, 673, 676, 685, 689, 693, 694, 
	695, 528, 518, 516, 519, 516, 516, 516, 
	516, 516, 516, 524, 516, 524, 516, 88, 
	527, 516, 516, 516, 516, 516, 516, 516, 
	516, 516, 535, 516, 536, 516, 516, 89, 
	91, 516, 92, 548, 559, 562, 541, 563, 
	564, 549, 553, 555, 516, 541, 92, 543, 
	545, 93, 516, 543, 516, 544, 516, 516, 
	94, 547, 516, 516, 550, 552, 516, 550, 
	551, 553, 555, 552, 516, 554, 516, 516, 
	556, 558, 516, 98, 516, 516, 516, 560, 
	552, 553, 555, 560, 561, 516, 550, 552, 
	553, 555, 516, 550, 552, 553, 555, 516, 
	565, 552, 553, 555, 565, 566, 516, 92, 
	567, 541, 568, 553, 555, 569, 552, 92, 
	569, 541, 570, 573, 575, 516, 101, 102, 
	516, 516, 581, 582, 583, 578, 585, 516, 
	516, 588, 516, 516, 516, 591, 592, 601, 
	606, 593, 594, 595, 596, 597, 598, 599, 
	600, 517, 602, 603, 604, 605, 517, 607, 
	609, 612, 610, 611, 517, 517, 614, 617, 
	615, 616, 618, 619, 517, 621, 623, 622, 
	624, 625, 626, 516, 516, 629, 517, 630, 
	516, 631, 632, 633, 634, 518, 636, 639, 
	637, 638, 640, 641, 643, 644, 645, 517, 
	649, 650, 651, 653, 655, 656, 654, 517, 
	658, 659, 660, 663, 661, 662, 664, 665, 
	666, 668, 670, 669, 671, 672, 674, 675, 
	677, 678, 680, 683, 679, 681, 682, 684, 
	686, 687, 688, 690, 691, 692, 516, 516, 
	696, 697, 701, 702, 703, 696, 696, 696, 
	700, 696, 696, 705, 704, 706, 704, 707, 
	708, 709, 704, 704, 710, 710, 711, 712, 
	713, 715, 717, 718, 710, 710, 710, 714, 
	710, 714, 710, 118, 710, 710, 710, 122
]

class << self
	attr_accessor :_lex_trans_actions
	private :_lex_trans_actions, :_lex_trans_actions=
end
self._lex_trans_actions = [
	0, 1, 0, 0, 0, 0, 0, 0, 
	2, 3, 4, 5, 6, 0, 0, 0, 
	7, 8, 9, 0, 0, 10, 11, 12, 
	13, 14, 15, 15, 16, 17, 15, 18, 
	17, 19, 17, 15, 15, 16, 15, 20, 
	15, 15, 21, 15, 15, 15, 15, 15, 
	15, 0, 22, 23, 0, 24, 23, 25, 
	23, 0, 0, 22, 0, 26, 0, 0, 
	0, 0, 0, 0, 0, 0, 13, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 27, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 28, 29, 30, 
	31, 0, 0, 0, 31, 14, 32, 15, 
	15, 15, 32, 33, 0, 34, 0, 14, 
	15, 35, 15, 36, 37, 38, 0, 0, 
	0, 0, 0, 39, 40, 41, 0, 14, 
	0, 42, 0, 15, 43, 15, 44, 15, 
	45, 46, 47, 46, 48, 46, 0, 49, 
	50, 49, 51, 49, 52, 53, 0, 54, 
	0, 0, 0, 0, 55, 55, 0, 0, 
	56, 56, 57, 0, 14, 58, 0, 0, 
	0, 55, 0, 0, 59, 0, 0, 0, 
	0, 59, 60, 0, 0, 0, 61, 62, 
	63, 64, 0, 65, 65, 66, 67, 67, 
	68, 0, 0, 0, 0, 69, 0, 0, 
	0, 0, 0, 0, 14, 0, 0, 0, 
	15, 43, 15, 15, 15, 45, 46, 47, 
	46, 46, 46, 0, 49, 50, 49, 49, 
	49, 70, 52, 71, 72, 0, 73, 0, 
	74, 74, 0, 75, 0, 76, 45, 77, 
	0, 78, 14, 79, 80, 81, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 82, 
	83, 86, 0, 0, 87, 88, 89, 90, 
	91, 92, 0, 14, 0, 0, 65, 65, 
	0, 0, 0, 93, 0, 0, 0, 0, 
	94, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 95, 
	96, 97, 98, 99, 100, 45, 101, 0, 
	102, 0, 0, 0, 103, 0, 104, 105, 
	0, 0, 106, 0, 0, 0, 107, 0, 
	108, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 107, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 109, 0, 0, 0, 0, 110, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 65, 111, 
	112, 0, 0, 65, 0, 113, 114, 115, 
	45, 116, 0, 0, 14, 117, 0, 118, 
	119, 0, 14, 0, 0, 120, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	121, 0, 122, 0, 123, 124, 125, 126, 
	127, 45, 128, 0, 0, 129, 0, 130, 
	131, 132, 133, 14, 0, 13, 0, 0, 
	13, 0, 0, 0, 0, 0, 0, 65, 
	65, 65, 134, 135, 136, 137, 138, 139, 
	140, 0, 141, 142, 143, 144, 145, 146, 
	147, 148, 149, 45, 150, 0, 151, 152, 
	153, 154, 155, 156, 0, 0, 0, 157, 
	65, 65, 0, 158, 159, 160, 161, 162, 
	0, 0, 0, 0, 0, 163, 164, 45, 
	165, 0, 166, 14, 167, 168, 169, 170, 
	171, 172, 0, 14, 0, 0, 0, 0, 
	0, 0, 173, 174, 175, 176, 45, 177, 
	0, 178, 14, 179, 180, 181, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 182, 183, 0, 184, 0, 0, 
	65, 185, 0, 0, 185, 185, 0, 0, 
	65, 186, 0, 186, 0, 186, 186, 186, 
	0, 0, 186, 182, 182, 182, 182, 182, 
	182, 182, 182, 182, 182, 182, 182, 182, 
	182, 182, 182, 182, 0, 0, 187, 188, 
	188, 189, 190, 0, 191, 192, 0, 59, 
	0, 193, 0, 194, 195, 196, 197, 198, 
	15, 199, 200, 201, 202, 203, 45, 204, 
	0, 205, 206, 0, 207, 0, 208, 209, 
	185, 210, 0, 211, 0, 212, 213, 214, 
	0, 0, 215, 0, 0, 0, 0, 216, 
	0, 0, 0, 0, 0, 0, 0, 217, 
	0, 0, 218, 0, 219, 220, 0, 0, 
	0, 221, 0, 0, 222, 223, 224, 225, 
	226, 227, 0, 228, 229, 229, 0, 230, 
	0, 231, 232, 232, 0, 0, 233, 234, 
	235, 236, 237, 0, 0, 238, 14, 182, 
	182, 182, 182, 182, 182, 182, 182, 182, 
	182, 182, 182, 59, 182, 182, 182, 182, 
	182, 182, 182, 182, 182, 182, 182, 182, 
	182, 182, 182, 182, 182, 182, 182, 182, 
	182, 182, 182, 182, 239, 182, 182, 182, 
	182, 182, 182, 182, 182, 182, 182, 182, 
	182, 240, 241, 242, 243, 244, 244, 240, 
	182, 182, 182, 182, 182, 182, 182, 182, 
	182, 182, 182, 182, 182, 182, 182, 182, 
	182, 182, 182, 245, 246, 247, 248, 0, 
	14, 0, 0, 249, 250, 251, 45, 252, 
	0, 253, 14, 254, 65, 255, 256, 0, 
	14, 257, 0, 0, 258, 259, 260, 261, 
	45, 262, 0, 14, 263, 264, 265, 266, 
	0, 14, 0, 267, 0, 65, 268, 0, 
	0, 0, 0, 269, 0, 0, 270, 270, 
	0, 271, 0, 0, 0, 272, 65, 273, 
	273, 273, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 274, 275, 276, 0, 277, 278, 279, 
	280, 281, 282, 45, 283, 0, 284, 0, 
	0, 285, 286, 287, 288, 289, 290, 291, 
	292, 293, 0, 294, 0, 295, 296, 0, 
	0, 297, 298, 299, 0, 0, 300, 0, 
	0, 299, 301, 301, 302, 303, 0, 304, 
	305, 0, 306, 307, 308, 0, 309, 310, 
	0, 0, 311, 312, 299, 299, 313, 0, 
	0, 314, 314, 0, 315, 0, 316, 317, 
	65, 0, 318, 0, 319, 320, 321, 322, 
	322, 323, 323, 0, 0, 324, 325, 325, 
	326, 326, 327, 328, 328, 329, 329, 330, 
	331, 331, 332, 332, 0, 0, 333, 334, 
	335, 336, 337, 338, 338, 335, 337, 339, 
	270, 340, 0, 0, 0, 341, 0, 0, 
	342, 343, 273, 273, 273, 344, 273, 345, 
	346, 14, 347, 348, 349, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 350, 0, 0, 0, 0, 344, 0, 
	0, 0, 0, 0, 351, 352, 0, 0, 
	0, 0, 0, 0, 353, 0, 0, 0, 
	0, 0, 352, 354, 355, 0, 356, 0, 
	357, 0, 0, 0, 0, 358, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 359, 
	0, 0, 0, 0, 0, 0, 0, 358, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 360, 361, 
	362, 363, 363, 74, 363, 364, 365, 366, 
	0, 367, 368, 0, 369, 0, 370, 0, 
	0, 0, 371, 372, 373, 374, 0, 14, 
	0, 65, 0, 65, 375, 376, 377, 45, 
	378, 0, 379, 0, 380, 381, 382, 0
]

class << self
	attr_accessor :_lex_to_state_actions
	private :_lex_to_state_actions, :_lex_to_state_actions=
end
self._lex_to_state_actions = [
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	84, 84, 0, 0, 0, 0, 84, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 84, 
	0, 0, 0, 0, 0, 0, 0, 84, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 84, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 84, 0, 0, 0, 0, 
	0, 84, 0, 0, 0, 0, 0, 0, 
	0, 84, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 84, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 84, 0, 0, 
	0, 0, 0, 0, 84, 0, 0, 0, 
	0, 0, 0, 0, 84, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	84, 0, 0, 0, 0, 0, 0, 0, 
	84, 0, 0, 0, 0, 0, 84, 0, 
	0, 0, 0, 0, 0, 0, 0
]

class << self
	attr_accessor :_lex_from_state_actions
	private :_lex_from_state_actions, :_lex_from_state_actions=
end
self._lex_from_state_actions = [
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	85, 85, 0, 0, 0, 0, 85, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 85, 
	0, 0, 0, 0, 0, 0, 0, 85, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 85, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 85, 0, 0, 0, 0, 
	0, 85, 0, 0, 0, 0, 0, 0, 
	0, 85, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 85, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 85, 0, 0, 
	0, 0, 0, 0, 85, 0, 0, 0, 
	0, 0, 0, 0, 85, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	0, 0, 0, 0, 0, 0, 0, 0, 
	85, 0, 0, 0, 0, 0, 0, 0, 
	85, 0, 0, 0, 0, 0, 85, 0, 
	0, 0, 0, 0, 0, 0, 0
]

class << self
	attr_accessor :_lex_eof_trans
	private :_lex_eof_trans, :_lex_eof_trans=
end
self._lex_eof_trans = [
	0, 0, 0, 0, 0, 9, 11, 13, 
	13, 13, 13, 19, 19, 23, 23, 23, 
	23, 23, 23, 23, 23, 23, 23, 23, 
	23, 23, 23, 23, 23, 23, 23, 23, 
	23, 23, 84, 84, 84, 84, 84, 84, 
	84, 84, 84, 84, 84, 84, 94, 96, 
	96, 96, 108, 108, 108, 116, 118, 118, 
	118, 118, 118, 124, 116, 116, 116, 116, 
	116, 116, 116, 150, 150, 150, 150, 150, 
	150, 116, 166, 116, 166, 150, 150, 116, 
	116, 150, 150, 150, 150, 179, 179, 179, 
	184, 186, 186, 186, 190, 190, 193, 193, 
	193, 193, 198, 198, 198, 184, 190, 190, 
	190, 190, 190, 190, 190, 190, 190, 229, 
	236, 238, 238, 238, 238, 229, 246, 246, 
	246, 246, 246, 246, 246, 246, 246, 246, 
	0, 0, 261, 261, 262, 263, 0, 304, 
	306, 307, 308, 309, 311, 313, 317, 317, 
	308, 308, 308, 308, 319, 308, 308, 313, 
	308, 308, 304, 323, 323, 323, 323, 323, 
	323, 313, 313, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 362, 329, 
	329, 329, 329, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 329, 329, 
	329, 329, 329, 329, 329, 329, 308, 0, 
	406, 407, 408, 410, 406, 406, 414, 0, 
	433, 435, 437, 438, 439, 440, 441, 443, 
	440, 440, 440, 440, 440, 446, 440, 440, 
	448, 446, 446, 440, 0, 467, 468, 19, 
	19, 471, 472, 19, 468, 468, 475, 477, 
	480, 468, 481, 468, 482, 483, 485, 487, 
	468, 475, 488, 488, 477, 488, 492, 488, 
	488, 488, 488, 0, 94, 500, 501, 500, 
	500, 0, 510, 511, 513, 515, 517, 515, 
	519, 0, 531, 532, 533, 534, 536, 538, 
	540, 541, 541, 541, 541, 541, 541, 541, 
	541, 541, 541, 541, 541, 541, 541, 541, 
	541, 0, 599, 602, 605, 606, 610, 612, 
	613, 614, 615, 616, 618, 621, 622, 624, 
	626, 629, 631, 632, 116, 629, 634, 629, 
	621, 636, 638, 621, 621, 656, 659, 661, 
	662, 666, 669, 670, 671, 672, 656, 656, 
	656, 656, 656, 656, 656, 656, 656, 656, 
	676, 680, 682, 656, 656, 621, 687, 688, 
	688, 688, 621, 621, 621, 689, 116, 621, 
	621, 694, 621, 616, 599, 599, 599, 599, 
	599, 599, 599, 599, 599, 599, 599, 116, 
	599, 599, 599, 599, 599, 599, 599, 599, 
	599, 599, 599, 599, 599, 599, 599, 599, 
	599, 599, 599, 599, 599, 599, 599, 599, 
	599, 599, 599, 599, 599, 599, 599, 599, 
	599, 599, 599, 599, 599, 599, 599, 599, 
	599, 599, 599, 599, 599, 599, 599, 599, 
	747, 606, 599, 599, 599, 599, 599, 599, 
	599, 599, 599, 599, 599, 599, 599, 599, 
	599, 599, 599, 599, 599, 599, 599, 599, 
	599, 599, 599, 772, 621, 0, 780, 781, 
	782, 784, 786, 788, 0, 797, 798, 799, 
	800, 802, 797, 805, 0, 190, 860, 862, 
	863, 864, 865, 867, 869, 871, 874, 874, 
	190, 876, 878, 879, 880, 876, 882, 884, 
	884, 887, 887, 890, 901, 190, 907, 909, 
	911, 912, 915, 916, 890, 890, 919, 919, 
	919, 925, 927, 928, 931, 933, 934, 935, 
	919, 919, 942, 947, 952, 919, 919, 959, 
	959, 919, 919, 884, 876, 876, 884, 876, 
	876, 871, 190, 977, 978, 978, 978, 978, 
	978, 978, 984, 871, 987, 988, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 1028, 1029, 989, 989, 1033, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 989, 989, 989, 
	989, 989, 989, 989, 989, 1087, 865, 1088, 
	0, 1094, 1095, 1096, 1098, 1094, 1094, 1094, 
	0, 1103, 1103, 1103, 1103, 1107, 0, 1117, 
	1118, 1119, 1121, 1123, 1125, 1123, 1123
]

class << self
	attr_accessor :lex_start
end
self.lex_start = 128;
class << self
	attr_accessor :lex_error
end
self.lex_error = 0;

class << self
	attr_accessor :lex_en_expr_variable
end
self.lex_en_expr_variable = 129;
class << self
	attr_accessor :lex_en_expr_fname
end
self.lex_en_expr_fname = 134;
class << self
	attr_accessor :lex_en_expr_endfn
end
self.lex_en_expr_endfn = 247;
class << self
	attr_accessor :lex_en_expr_dot
end
self.lex_en_expr_dot = 255;
class << self
	attr_accessor :lex_en_expr_arg
end
self.lex_en_expr_arg = 276;
class << self
	attr_accessor :lex_en_expr_cmdarg
end
self.lex_en_expr_cmdarg = 307;
class << self
	attr_accessor :lex_en_expr_endarg
end
self.lex_en_expr_endarg = 313;
class << self
	attr_accessor :lex_en_expr_mid
end
self.lex_en_expr_mid = 321;
class << self
	attr_accessor :lex_en_expr_beg
end
self.lex_en_expr_beg = 345;
class << self
	attr_accessor :lex_en_expr_labelarg
end
self.lex_en_expr_labelarg = 501;
class << self
	attr_accessor :lex_en_expr_value
end
self.lex_en_expr_value = 508;
class << self
	attr_accessor :lex_en_expr_end
end
self.lex_en_expr_end = 516;
class << self
	attr_accessor :lex_en_leading_dot
end
self.lex_en_leading_dot = 696;
class << self
	attr_accessor :lex_en_line_comment
end
self.lex_en_line_comment = 704;
class << self
	attr_accessor :lex_en_line_begin
end
self.lex_en_line_begin = 710;
class << self
	attr_accessor :lex_en_inside_string
end
self.lex_en_inside_string = 128;


# line 82 "lib/parser/lexer.rl"
  # %

  attr_reader   :source_buffer

  attr_accessor :diagnostics
  attr_accessor :static_env
  attr_accessor :force_utf32

  attr_accessor :cond, :cmdarg, :context, :command_start

  attr_accessor :tokens, :comments

  attr_reader :paren_nest, :cmdarg_stack, :cond_stack, :lambda_stack, :version

  def initialize(version)
    @version    = version
    @static_env = nil
    @context    = nil

    @tokens     = nil
    @comments   = nil

    @_lex_actions =
      if self.class.respond_to?(:_lex_actions, true)
        self.class.send :_lex_actions
      else
        []
      end

    @emit_integer = lambda { |chars, p| emit(:tINTEGER,   chars); p }
    @emit_rational = lambda { |chars, p| emit(:tRATIONAL,  Rational(chars)); p }
    @emit_imaginary = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, chars)); p }
    @emit_imaginary_rational = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, Rational(chars))); p }
    @emit_integer_re = lambda { |chars, p| emit(:tINTEGER,   chars, @ts, @te - 2); p - 2 }
    @emit_integer_if = lambda { |chars, p| emit(:tINTEGER,   chars, @ts, @te - 2); p - 2 }
    @emit_integer_rescue = lambda { |chars, p| emit(:tINTEGER,   chars, @ts, @te - 6); p - 6 }

    @emit_float = lambda { |chars, p| emit(:tFLOAT,     Float(chars)); p }
    @emit_imaginary_float = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, Float(chars))); p }
    @emit_float_if =     lambda { |chars, p| emit(:tFLOAT,     Float(chars), @ts, @te - 2); p - 2 }
    @emit_float_rescue = lambda { |chars, p| emit(:tFLOAT,     Float(chars), @ts, @te - 6); p - 6 }

    reset
  end

  def reset(reset_state=true)
    # Ragel state:
    if reset_state
      # Unit tests set state prior to resetting lexer.
      @cs     = self.class.lex_en_line_begin

      @cond   = StackState.new('cond')
      @cmdarg = StackState.new('cmdarg')
      @cond_stack   = []
      @cmdarg_stack = []
    end

    @force_utf32   = false # Set to true by some tests

    @source_pts    = nil # @source as a codepoint array

    @p             = 0   # stream position (saved manually in #advance)
    @ts            = nil # token start
    @te            = nil # token end
    @act           = 0   # next action

    @stack         = []  # state stack
    @top           = 0   # state stack top pointer

    # Lexer state:
    @token_queue   = []

    @eq_begin_s    = nil # location of last encountered =begin
    @sharp_s       = nil # location of last encountered #

    @newline_s     = nil # location of last encountered newline

    @num_base      = nil # last numeric base
    @num_digits_s  = nil # starting position of numeric digits
    @num_suffix_s  = nil # starting position of numeric suffix
    @num_xfrm      = nil # numeric suffix-induced transformation

    # Ruby 1.9 ->() lambdas emit a distinct token if do/{ is
    # encountered after a matching closing parenthesis.
    @paren_nest    = 0
    @lambda_stack  = []

    # If the lexer is in `command state' (aka expr_value)
    # at the entry to #advance, it will transition to expr_cmdarg
    # instead of expr_arg at certain points.
    @command_start = true

    # State before =begin / =end block comment
    @cs_before_block_comment = self.class.lex_en_line_begin

    @strings = Parser::LexerStrings.new(self, @version)
  end

  def source_buffer=(source_buffer)
    @source_buffer = source_buffer

    if @source_buffer
      source = @source_buffer.source

      if source.encoding == Encoding::UTF_8
        @source_pts = source.unpack('U*')
      else
        @source_pts = source.unpack('C*')
      end

      if @source_pts[0] == 0xfeff
        # Skip byte order mark.
        @p = 1
      end
    else
      @source_pts = nil
    end

    @strings.source_buffer = @source_buffer
    @strings.source_pts = @source_pts
  end

  def encoding
    @source_buffer.source.encoding
  end

  LEX_STATES = {
    :line_begin    => lex_en_line_begin,
    :expr_dot      => lex_en_expr_dot,
    :expr_fname    => lex_en_expr_fname,
    :expr_value    => lex_en_expr_value,
    :expr_beg      => lex_en_expr_beg,
    :expr_mid      => lex_en_expr_mid,
    :expr_arg      => lex_en_expr_arg,
    :expr_cmdarg   => lex_en_expr_cmdarg,
    :expr_end      => lex_en_expr_end,
    :expr_endarg   => lex_en_expr_endarg,
    :expr_endfn    => lex_en_expr_endfn,
    :expr_labelarg => lex_en_expr_labelarg,

    :inside_string => lex_en_inside_string
  }

  def state
    LEX_STATES.invert.fetch(@cs, @cs)
  end

  def state=(state)
    @cs = LEX_STATES.fetch(state)
  end

  def push_cmdarg
    @cmdarg_stack.push(@cmdarg)
    @cmdarg = StackState.new("cmdarg.#{@cmdarg_stack.count}")
  end

  def pop_cmdarg
    @cmdarg = @cmdarg_stack.pop
  end

  def push_cond
    @cond_stack.push(@cond)
    @cond = StackState.new("cond.#{@cond_stack.count}")
  end

  def pop_cond
    @cond = @cond_stack.pop
  end

  def dedent_level
    @strings.dedent_level
  end

  # Return next token: [type, value].
  def advance
    unless @token_queue.empty?
      return @token_queue.shift
    end

    # Ugly, but dependent on Ragel output. Consider refactoring it somehow.
    klass = self.class
    _lex_trans_keys         = klass.send :_lex_trans_keys
    _lex_key_spans          = klass.send :_lex_key_spans
    _lex_index_offsets      = klass.send :_lex_index_offsets
    _lex_indicies           = klass.send :_lex_indicies
    _lex_trans_targs        = klass.send :_lex_trans_targs
    _lex_trans_actions      = klass.send :_lex_trans_actions
    _lex_to_state_actions   = klass.send :_lex_to_state_actions
    _lex_from_state_actions = klass.send :_lex_from_state_actions
    _lex_eof_trans          = klass.send :_lex_eof_trans
    _lex_actions            = @_lex_actions

    pe = @source_pts.size + 2
    p, eof = @p, pe

    cmd_state = @command_start
    @command_start = false

    
# line 8435 "lib/parser/lexer-F1.rb"
begin
	testEof = false
	_slen, _trans, _keys, _inds, _acts, _nacts = nil
	_goto_level = 0
	_resume = 10
	_eof_trans = 15
	_again = 20
	_test_eof = 30
	_out = 40
	while true
	if _goto_level <= 0
	if p == pe
		_goto_level = _test_eof
		next
	end
	if  @cs == 0
		_goto_level = _out
		next
	end
	end
	if _goto_level <= _resume
	case _lex_from_state_actions[ @cs] 
	when 85 then
# line 1 "NONE"
		begin
 @ts = p
		end
# line 8463 "lib/parser/lexer-F1.rb"
	end
	_keys =  @cs << 1
	_inds = _lex_index_offsets[ @cs]
	_slen = _lex_key_spans[ @cs]
	_wide = ( (@source_pts[p] || 0))
	_trans = if (   _slen > 0 && 
			_lex_trans_keys[_keys] <= _wide && 
			_wide <= _lex_trans_keys[_keys + 1] 
		    ) then
			_lex_indicies[ _inds + _wide - _lex_trans_keys[_keys] ] 
		 else 
			_lex_indicies[ _inds + _slen ]
		 end
	end
	if _goto_level <= _eof_trans
	 @cs = _lex_trans_targs[_trans]
	if _lex_trans_actions[_trans] != 0
	case _lex_trans_actions[_trans]
	when 14 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
	when 15 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
	when 45 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
	when 49 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
	when 190 then
# line 777 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 22 then
# line 1059 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 24 then
# line 1072 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 26 then
# line 1100 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 56 then
# line 1297 "lib/parser/lexer.rl"
		begin
 heredoc_e      = p 		end
	when 229 then
# line 1392 "lib/parser/lexer.rl"
		begin
 tm = p - 1; diag_msg = :ivar_name 		end
	when 232 then
# line 1393 "lib/parser/lexer.rl"
		begin
 tm = p - 2; diag_msg = :cvar_name 		end
	when 244 then
# line 1480 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 188 then
# line 1587 "lib/parser/lexer.rl"
		begin
 ident_tok = tok; ident_ts = @ts; ident_te = @te; 		end
	when 331 then
# line 1773 "lib/parser/lexer.rl"
		begin
 @num_base = 16; @num_digits_s = p 		end
	when 325 then
# line 1774 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = p 		end
	when 328 then
# line 1775 "lib/parser/lexer.rl"
		begin
 @num_base = 8;  @num_digits_s = p 		end
	when 322 then
# line 1776 "lib/parser/lexer.rl"
		begin
 @num_base = 2;  @num_digits_s = p 		end
	when 337 then
# line 1777 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = @ts 		end
	when 299 then
# line 1778 "lib/parser/lexer.rl"
		begin
 @num_base = 8;  @num_digits_s = @ts 		end
	when 314 then
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 307 then
# line 1822 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 304 then
# line 1823 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 74 then
# line 2026 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 65 then
# line 1 "NONE"
		begin
 @te = p+1
		end
	when 1 then
# line 846 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit_global_var

         @cs = (stack_pop); 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 87 then
# line 846 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_global_var

         @cs = (stack_pop); 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 89 then
# line 853 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_class_var

         @cs = (stack_pop); 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 88 then
# line 860 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_instance_var

         @cs = (stack_pop); 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 110 then
# line 878 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit_table(KEYWORDS_BEGIN);
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 96 then
# line 886 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit(:tIDENTIFIER)
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 3 then
# line 890 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = @ts - 1
            @cs = 516; 	begin
		 @stack[ @top] =  @cs
		 @top+= 1
		 @cs = 129
		_goto_level = _again
		next
	end
  end
		end
	when 93 then
# line 899 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit_table(PUNCTUATION)
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 105 then
# line 903 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 5 then
# line 909 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        if version?(23)
          type, delimiter = tok[0..-2], tok[-1].chr
          @strings.push_literal(type, delimiter, @ts)
          	begin
		 @cs = 128
		_goto_level = _again
		next
	end

        else
          p = @ts - 1
          	begin
		 @cs = 516
		_goto_level = _again
		next
	end

        end
       end
		end
	when 92 then
# line 923 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 91 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 109 then
# line 878 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(KEYWORDS_BEGIN);
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 106 then
# line 882 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tCONSTANT)
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 108 then
# line 886 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tIDENTIFIER)
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 103 then
# line 890 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1
            @cs = 516; 	begin
		 @stack[ @top] =  @cs
		 @top+= 1
		 @cs = 129
		_goto_level = _again
		next
	end
  end
		end
	when 99 then
# line 899 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(PUNCTUATION)
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 104 then
# line 906 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 97 then
# line 920 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 102 then
# line 923 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 4 then
# line 899 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  emit_table(PUNCTUATION)
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 2 then
# line 923 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 95 then
# line 1 "NONE"
		begin
	case  @act
	when 4 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS_BEGIN);
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 5 then
	begin begin p = (( @te))-1; end
 emit(:tCONSTANT)
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 6 then
	begin begin p = (( @te))-1; end
 emit(:tIDENTIFIER)
            @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
end 
			end
	when 7 then
# line 935 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit(:tLABEL, tok(@ts, @te - 2), @ts, @te - 1)
           p = p - 1;  @cs = 501; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 8 then
# line 939 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        if @version >= 31 && @context.in_argdef
          emit(:tBDOT3, '...'.freeze)
          # emit(:tNL, "\n".freeze, @te - 1, @te)
           @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
          p -= 3;
          	begin
		 @cs = 516
		_goto_level = _again
		next
	end

        end
       end
		end
	when 112 then
# line 953 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 111 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 114 then
# line 950 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 113 then
# line 953 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 6 then
# line 953 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 120 then
# line 979 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit_table(PUNCTUATION)
            @cs = 276; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 119 then
# line 985 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 118 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 130 then
# line 964 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tCONSTANT)
            @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 121 then
# line 968 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tIDENTIFIER)
            @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 126 then
# line 979 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(PUNCTUATION)
            @cs = 276; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 124 then
# line 982 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 129 then
# line 985 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 153 then
# line 1045 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        # Unlike expr_beg as invoked in the next rule, do not warn
        p = @ts - 1
        	begin
		 @cs = 516
		_goto_level = _again
		next
	end

       end
		end
	when 136 then
# line 1063 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        check_ambiguous_slash(tm)

        p = tm - 1
        	begin
		 @cs = 345
		_goto_level = _again
		next
	end

       end
		end
	when 142 then
# line 1084 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 10 then
# line 1092 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = @ts - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 144 then
# line 1101 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = tm - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 25 then
# line 1112 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p = @ts - 1
        	begin
		 @cs = 516
		_goto_level = _again
		next
	end

       end
		end
	when 131 then
# line 1126 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 132 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 143 then
# line 1054 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 139 then
# line 1073 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        diagnostic :warning, :ambiguous_prefix, { :prefix => tok(tm, @te) },
                   range(tm, @te)

        p = tm - 1
        	begin
		 @cs = 345
		_goto_level = _again
		next
	end

       end
		end
	when 141 then
# line 1089 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 135 then
# line 1112 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        p = @ts - 1
        	begin
		 @cs = 516
		_goto_level = _again
		next
	end

       end
		end
	when 134 then
# line 1117 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 152 then
# line 1126 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 11 then
# line 1117 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
		end
	when 27 then
# line 1126 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 9 then
# line 1 "NONE"
		begin
	case  @act
	when 33 then
	begin begin p = (( @te))-1; end

        check_ambiguous_slash(tm)

        p = tm - 1
        	begin
		 @cs = 345
		_goto_level = _again
		next
	end

      end
	when 34 then
	begin begin p = (( @te))-1; end

        diagnostic :warning, :ambiguous_prefix, { :prefix => tok(tm, @te) },
                   range(tm, @te)

        p = tm - 1
        	begin
		 @cs = 345
		_goto_level = _again
		next
	end

      end
	when 39 then
	begin begin p = (( @te))-1; end

        p = @ts - 1
        	begin
		 @cs = 516
		_goto_level = _again
		next
	end

      end
	else
	begin begin p = (( @te))-1; end
end
end 
			end
	when 29 then
# line 1162 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = @ts - 1
           	begin
		 @cs = 276
		_goto_level = _again
		next
	end
  end
		end
	when 157 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 158 then
# line 1162 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1
           	begin
		 @cs = 276
		_goto_level = _again
		next
	end
  end
		end
	when 30 then
# line 1162 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  p = @ts - 1
           	begin
		 @cs = 276
		_goto_level = _again
		next
	end
  end
		end
	when 28 then
# line 1 "NONE"
		begin
	case  @act
	when 46 then
	begin begin p = (( @te))-1; end

        if @cond.active?
          emit(:kDO_COND, 'do'.freeze, @te - 2, @te)
        else
          emit(:kDO, 'do'.freeze, @te - 2, @te)
        end
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 47 then
	begin begin p = (( @te))-1; end
 p = @ts - 1
           	begin
		 @cs = 276
		_goto_level = _again
		next
	end
 end
end 
			end
	when 168 then
# line 1198 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit_do(true)
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 161 then
# line 1204 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 162 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 163 then
# line 1201 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 166 then
# line 1204 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 172 then
# line 1228 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 171 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 180 then
# line 1220 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 174 then
# line 1222 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 178 then
# line 1228 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 173 then
# line 1 "NONE"
		begin
	case  @act
	when 54 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 55 then
	begin begin p = (( @te))-1; end
 p = @ts - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
 end
end 
			end
	when 42 then
# line 1243 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
        p = p - 1;  @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 214 then
# line 1260 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        type = delimiter = tok[0].chr
        @strings.push_literal(type, delimiter, @ts)

        p = p - 1;
        	begin
		 @cs = 128
		_goto_level = _again
		next
	end

       end
		end
	when 206 then
# line 1270 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        type, delimiter = @source_buffer.slice(@ts, 1).chr, tok[-1].chr
        @strings.push_literal(type, delimiter, @ts)
        	begin
		 @cs = 128
		_goto_level = _again
		next
	end

       end
		end
	when 40 then
# line 1278 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        type, delimiter = tok[0..-2], tok[-1].chr
        @strings.push_literal(type, delimiter, @ts)
        	begin
		 @cs = 128
		_goto_level = _again
		next
	end

       end
		end
	when 227 then
# line 1355 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p = p - 1; p = p - 1;
        emit(:tSYMBEG, tok(@ts, @ts + 1), @ts, @ts + 1)
        	begin
		 @cs = 134
		_goto_level = _again
		next
	end

       end
		end
	when 215 then
# line 1363 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        type, delimiter = tok, tok[-1].chr
        @strings.push_literal(type, delimiter, @ts);

        	begin
		 @cs = 128
		_goto_level = _again
		next
	end

       end
		end
	when 226 then
# line 1373 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit(:tSYMBOL, tok(@ts + 1, @ts + 2))
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 54 then
# line 1387 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit(:tSYMBOL, tok(@ts + 1), @ts)
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 236 then
# line 1408 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p, next_state = @strings.read_character_constant(@ts)
        p = p - 1; # Ragel will do `p += 1` to consume input, prevent it

        # If strings lexer founds a character constant (?a) emit it,
        # otherwise read ternary operator
        if @token_queue.empty?
          	begin
		 @cs = (next_state)
		_goto_level = _again
		next
	end

        else
           @cs = (next_state);
          	begin
		p += 1
		_goto_level = _out
		next
	end

        end
       end
		end
	when 237 then
# line 1423 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        diagnostic :fatal, :incomplete_escape, nil, range(@ts, @ts + 1)
       end
		end
	when 216 then
# line 1475 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit_table(PUNCTUATION_BEGIN)
           	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 37 then
# line 1496 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p = p - 1;

        if version?(18)
          ident = tok(@ts, @te - 2)

          emit((@source_buffer.slice(@ts, 1) =~ /[A-Z]/) ? :tCONSTANT : :tIDENTIFIER,
               ident, @ts, @te - 2)
          p = p - 1; # continue as a symbol

          if !@static_env.nil? && @static_env.declared?(ident)
             @cs = 516;
          else
             @cs = (arg_or_cmdarg(cmd_state));
          end
        else
          emit(:tLABEL, tok(@ts, @te - 2), @ts, @te - 1)
           @cs = 501;
        end

        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 34 then
# line 1589 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit(:tIDENTIFIER, ident_tok, ident_ts, ident_te)
        p = ident_te - 1

        if !@static_env.nil? && @static_env.declared?(ident_tok) && @version < 25
           @cs = 247;
        else
           @cs = 307;
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 200 then
# line 1608 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p = @ts - 1
        @cs_before_block_comment = @cs
        	begin
		 @cs = 710
		_goto_level = _again
		next
	end

       end
		end
	when 41 then
# line 1624 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = @ts - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 183 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 210 then
# line 1243 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
        p = p - 1;  @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 209 then
# line 1250 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tSTAR, '*'.freeze)
           	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 205 then
# line 1285 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        diagnostic :fatal, :string_eof, nil, range(@ts, @ts + 1)
       end
		end
	when 234 then
# line 1346 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
       end
		end
	when 217 then
# line 1387 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1), @ts)
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 230 then
# line 1395 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_colon_with_digits(p, tm, diag_msg)

         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 235 then
# line 1423 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        diagnostic :fatal, :incomplete_escape, nil, range(@ts, @ts + 1)
       end
		end
	when 207 then
# line 1475 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(PUNCTUATION_BEGIN)
           	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 211 then
# line 1523 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        if @version >= 27
          emit(:tBDOT2)
        else
          emit(:tDOT2)
        end

         @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 212 then
# line 1534 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        # Here we scan and conditionally emit "\n":
        # + if it's there
        #   + and emitted we do nothing
        #   + and not emitted we return `p` to "\n" to process it on the next scan
        # + if it's not there we do nothing
        followed_by_nl = @te - 1 == @newline_s
        nl_emitted = false
        dots_te = followed_by_nl ? @te - 1 : @te

        if @version >= 30
          if @lambda_stack.any? && @lambda_stack.last + 1 == @paren_nest
            # To reject `->(...)` like `->...`
            emit(:tDOT3, '...'.freeze, @ts, dots_te)
          else
            emit(:tBDOT3, '...'.freeze, @ts, dots_te)

            if @version >= 31 && followed_by_nl && @context.in_argdef
              emit(:tNL, @te - 1, @te)
              nl_emitted = true
            end
          end
        elsif @version >= 27
          emit(:tBDOT3, '...'.freeze, @ts, dots_te)
        else
          emit(:tDOT3, '...'.freeze, @ts, dots_te)
        end

        if followed_by_nl && !nl_emitted
          # return "\n" to process it on the next scan
          p = p - 1;
        end

         @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 187 then
# line 831 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
    emit(:tIDENTIFIER)

    if !@static_env.nil? && @static_env.declared?(tok)
       @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end

    else
       @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end

    end
   end
		end
	when 197 then
# line 1605 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 199 then
# line 1608 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        p = @ts - 1
        @cs_before_block_comment = @cs
        	begin
		 @cs = 710
		_goto_level = _again
		next
	end

       end
		end
	when 202 then
# line 1624 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 39 then
# line 1285 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin 
        diagnostic :fatal, :string_eof, nil, range(@ts, @ts + 1)
       end
		end
	when 58 then
# line 1346 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin 
        diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
       end
		end
	when 33 then
# line 831 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin 
    emit(:tIDENTIFIER)

    if !@static_env.nil? && @static_env.declared?(tok)
       @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end

    else
       @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end

    end
   end
		end
	when 38 then
# line 1605 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
		end
	when 53 then
# line 1624 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  p = @ts - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 36 then
# line 1 "NONE"
		begin
	case  @act
	when 60 then
	begin begin p = (( @te))-1; end

        emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
        p = p - 1;  @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 67 then
	begin begin p = (( @te))-1; end

        diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
      end
	when 76 then
	begin begin p = (( @te))-1; end

        if @version >= 27
          emit(:tPIPE, tok(@ts, @ts + 1), @ts, @ts + 1)
          p = p - 1;
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
          p -= 2
          	begin
		 @cs = 516
		_goto_level = _again
		next
	end

        end
      end
	when 80 then
	begin begin p = (( @te))-1; end
 emit_table(PUNCTUATION_BEGIN)
           	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 81 then
	begin begin p = (( @te))-1; end
 emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
           p = tm - 1
            @cs = 321; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 82 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS_BEGIN)
           @command_start = true
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 86 then
	begin begin p = (( @te))-1; end
 p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
 end
	when 87 then
	begin begin p = (( @te))-1; end

    emit(:tIDENTIFIER)

    if !@static_env.nil? && @static_env.declared?(tok)
       @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end

    else
       @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end

    end
  end
	when 91 then
	begin begin p = (( @te))-1; end
 p = @ts - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
 end
end 
			end
	when 247 then
# line 1644 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 248 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 249 then
# line 1632 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 253 then
# line 1644 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 61 then
# line 1654 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 257 then
# line 1659 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        @strings.push_literal(tok, tok, @ts)
        	begin
		 @cs = 128
		_goto_level = _again
		next
	end

       end
		end
	when 256 then
# line 1670 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 255 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 259 then
# line 1664 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 258 then
# line 1670 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 60 then
# line 1670 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  p = p - 1; 	begin
		 @cs = 345
		_goto_level = _again
		next
	end
  end
		end
	when 292 then
# line 1681 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit(:tLAMBDA, '->'.freeze, @ts, @ts + 2)

        @lambda_stack.push @paren_nest
         @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 71 then
# line 1722 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit_singleton_class
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 267 then
# line 1843 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        type, delimiter = tok, tok[-1].chr
        @strings.push_literal(type, delimiter, @ts, nil, false, false, true);
        	begin
		 @cs = 128
		_goto_level = _again
		next
	end

       end
		end
	when 63 then
# line 1862 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = @ts - 1; 	begin
		 @stack[ @top] =  @cs
		 @top+= 1
		 @cs = 129
		_goto_level = _again
		next
	end
  end
		end
	when 288 then
# line 1869 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit_table(PUNCTUATION)
            @cs = 255; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 341 then
# line 1893 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit_table(PUNCTUATION)
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 281 then
# line 1902 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit_table(PUNCTUATION);
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 286 then
# line 1929 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit(:tOP_ASGN, tok(@ts, @te - 1))
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 272 then
# line 1933 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit(:tEH, '?'.freeze)
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 269 then
# line 1952 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit_table(PUNCTUATION)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 271 then
# line 1965 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit(:tSEMI, ';'.freeze)
           @command_start = true
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 346 then
# line 1969 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        diagnostic :error, :bare_backslash, nil, range(@ts, @ts + 1)
        p = p - 1;
       end
		end
	when 266 then
# line 1975 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        diagnostic :fatal, :unexpected, { :character => tok.inspect[1..-2] }
       end
		end
	when 265 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 357 then
# line 1718 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(KEYWORDS)
            @cs = 134; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 355 then
# line 1722 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_singleton_class
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 354 then
# line 1732 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(KEYWORDS)
           @command_start = true
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 296 then
# line 1793 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        diagnostic :error, :no_dot_digit_literal
       end
		end
	when 343 then
# line 1854 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tCONSTANT)
            @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 285 then
# line 1862 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1; 	begin
		 @stack[ @top] =  @cs
		 @top+= 1
		 @cs = 129
		_goto_level = _again
		next
	end
  end
		end
	when 293 then
# line 1869 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(PUNCTUATION)
            @cs = 255; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 349 then
# line 831 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
    emit(:tIDENTIFIER)

    if !@static_env.nil? && @static_env.declared?(tok)
       @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end

    else
       @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end

    end
   end
		end
	when 291 then
# line 1893 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_table(PUNCTUATION)
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 287 then
# line 1902 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_table(PUNCTUATION);
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 280 then
# line 1908 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(PUNCTUATION)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 294 then
# line 1952 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(PUNCTUATION)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 278 then
# line 1959 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 284 then
# line 1975 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        diagnostic :fatal, :unexpected, { :character => tok.inspect[1..-2] }
       end
		end
	when 69 then
# line 1780 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 64 then
# line 1793 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin 
        diagnostic :error, :no_dot_digit_literal
       end
		end
	when 68 then
# line 1825 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin 
        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 62 then
# line 1975 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin 
        diagnostic :fatal, :unexpected, { :character => tok.inspect[1..-2] }
       end
		end
	when 66 then
# line 1 "NONE"
		begin
	case  @act
	when 104 then
	begin begin p = (( @te))-1; end

        if @lambda_stack.last == @paren_nest
          @lambda_stack.pop

          if tok == '{'.freeze
            emit(:tLAMBEG, '{'.freeze)
          else # 'do'
            emit(:kDO_LAMBDA, 'do'.freeze)
          end
        else
          if tok == '{'.freeze
            emit(:tLCURLY, '{'.freeze)
          else # 'do'
            emit_do
          end
        end
        if tok == '{'.freeze
          @paren_nest += 1
        end
        @command_start = true

         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 105 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
            @cs = 134; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 106 then
	begin begin p = (( @te))-1; end
 emit_singleton_class
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 107 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 108 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
           @command_start = true
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 109 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
            @cs = 321; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 110 then
	begin begin p = (( @te))-1; end

        emit_table(KEYWORDS)

        if version?(18) && tok == 'not'.freeze
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
           @cs = 276; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
      end
	when 111 then
	begin begin p = (( @te))-1; end

        if version?(18)
          emit(:tIDENTIFIER)

          unless !@static_env.nil? && @static_env.declared?(tok)
             @cs = (arg_or_cmdarg(cmd_state));
          end
        else
          emit(:k__ENCODING__, '__ENCODING__'.freeze)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 112 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
           	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 113 then
	begin begin p = (( @te))-1; end

        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 115 then
	begin begin p = (( @te))-1; end

        if version?(18, 19, 20)
          diagnostic :error,
                     :trailing_in_number, { :character => tok(@te - 1, @te) },
                     range(@te - 1, @te)
        else
          emit(:tINTEGER, tok(@ts, @te - 1).to_i, @ts, @te - 1)
          p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
      end
	when 116 then
	begin begin p = (( @te))-1; end

        if version?(18, 19, 20)
          diagnostic :error,
                     :trailing_in_number, { :character => tok(@te - 1, @te) },
                     range(@te - 1, @te)
        else
          emit(:tFLOAT, tok(@ts, @te - 1).to_f, @ts, @te - 1)
          p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
      end
	when 117 then
	begin begin p = (( @te))-1; end

        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 119 then
	begin begin p = (( @te))-1; end
 emit(:tCONSTANT)
            @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 123 then
	begin begin p = (( @te))-1; end

    emit(:tIDENTIFIER)

    if !@static_env.nil? && @static_env.declared?(tok)
       @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end

    else
       @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end

    end
  end
	when 124 then
	begin begin p = (( @te))-1; end

        if tm == @te
          # Suffix was consumed, e.g. foo!
          emit(:tFID)
        else
          # Suffix was not consumed, e.g. foo!=
          emit(:tIDENTIFIER, tok(@ts, tm), @ts, tm)
          p = tm - 1
        end
         @cs = 276; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 126 then
	begin begin p = (( @te))-1; end

        emit_table(PUNCTUATION);
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 127 then
	begin begin p = (( @te))-1; end
 emit_table(PUNCTUATION)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
end 
			end
	when 368 then
# line 2016 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit(:tNL, nil, @newline_s, @newline_s + 1)
        if @version < 27
          p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
          emit(:tBDOT3)
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
       end
		end
	when 80 then
# line 2027 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = tm - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 362 then
# line 2030 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  emit(:tNL, nil, @newline_s, @newline_s + 1)
           p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 365 then
# line 1991 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        if @version < 27
          # Ruby before 2.7 doesn't support comments before leading dot.
          # If a line after "a" starts with a comment then "a" is a self-contained statement.
          # So in that case we emit a special tNL token and start reading the
          # next line as a separate statement.
          #
          # Note: block comments before leading dot are not supported on any version of Ruby.
          emit(:tNL, nil, @newline_s, @newline_s + 1)
          p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
       end
		end
	when 367 then
# line 2005 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tNL, nil, @newline_s, @newline_s + 1)
        if @version < 27
          p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
          emit(:tBDOT2)
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
       end
		end
	when 366 then
# line 2027 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = tm - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 364 then
# line 2030 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tNL, nil, @newline_s, @newline_s + 1)
           p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 75 then
# line 1991 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin 
        if @version < 27
          # Ruby before 2.7 doesn't support comments before leading dot.
          # If a line after "a" starts with a comment then "a" is a self-contained statement.
          # So in that case we emit a special tNL token and start reading the
          # next line as a separate statement.
          #
          # Note: block comments before leading dot are not supported on any version of Ruby.
          emit(:tNL, nil, @newline_s, @newline_s + 1)
          p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
       end
		end
	when 72 then
# line 2030 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  emit(:tNL, nil, @newline_s, @newline_s + 1)
           p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 76 then
# line 1 "NONE"
		begin
	case  @act
	when 140 then
	begin begin p = (( @te))-1; end

        if @version < 27
          # Ruby before 2.7 doesn't support comments before leading dot.
          # If a line after "a" starts with a comment then "a" is a self-contained statement.
          # So in that case we emit a special tNL token and start reading the
          # next line as a separate statement.
          #
          # Note: block comments before leading dot are not supported on any version of Ruby.
          emit(:tNL, nil, @newline_s, @newline_s + 1)
          p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
      end
	when 144 then
	begin begin p = (( @te))-1; end
 emit(:tNL, nil, @newline_s, @newline_s + 1)
           p = p - 1;  @cs = 710; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
end 
			end
	when 371 then
# line 2040 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_comment(@eq_begin_s, @te)
        	begin
		 @cs = (@cs_before_block_comment)
		_goto_level = _again
		next
	end

       end
		end
	when 370 then
# line 2048 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        diagnostic :fatal, :embedded_document, nil,
                   range(@eq_begin_s, @eq_begin_s + '=begin'.length)
       end
		end
	when 381 then
# line 2058 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  @eq_begin_s = @ts
           	begin
		 @cs = 704
		_goto_level = _again
		next
	end
  end
		end
	when 82 then
# line 2062 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = pe - 3  end
		end
	when 373 then
# line 2065 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  cmd_state = true; p = p - 1; 	begin
		 @cs = 508
		_goto_level = _again
		next
	end
  end
		end
	when 374 then
# line 566 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
    # Sit at EOF indefinitely. #advance would return $eof each time.
    # This allows to feed the lexer more data if needed; this is only used
    # in tests.
    #
    # Note that this action is not embedded into e_eof like e_nl and e_bs
    # below. This is due to the fact that scanner state at EOF is observed
    # by tests, and encapsulating it in a rule would break the introspection.
    p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

   end
		end
	when 375 then
# line 2055 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 380 then
# line 2058 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  @eq_begin_s = @ts
           	begin
		 @cs = 704
		_goto_level = _again
		next
	end
  end
		end
	when 379 then
# line 2065 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  cmd_state = true; p = p - 1; 	begin
		 @cs = 508
		_goto_level = _again
		next
	end
  end
		end
	when 81 then
# line 2065 "lib/parser/lexer.rl"
		begin
 begin p = (( @te))-1; end
 begin  cmd_state = true; p = p - 1; 	begin
		 @cs = 508
		_goto_level = _again
		next
	end
  end
		end
	when 86 then
# line 2072 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p, next_state = @strings.advance(p)

        p = p - 1; # Ragel will do `p += 1` to consume input, prevent it
         @cs = (next_state);
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 52 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
	when 154 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 1045 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        # Unlike expr_beg as invoked in the next rule, do not warn
        p = @ts - 1
        	begin
		 @cs = 516
		_goto_level = _again
		next
	end

       end
		end
	when 145 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 1101 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = tm - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 137 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 1112 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p = @ts - 1
        	begin
		 @cs = 516
		_goto_level = _again
		next
	end

       end
		end
	when 213 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 1534 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        # Here we scan and conditionally emit "\n":
        # + if it's there
        #   + and emitted we do nothing
        #   + and not emitted we return `p` to "\n" to process it on the next scan
        # + if it's not there we do nothing
        followed_by_nl = @te - 1 == @newline_s
        nl_emitted = false
        dots_te = followed_by_nl ? @te - 1 : @te

        if @version >= 30
          if @lambda_stack.any? && @lambda_stack.last + 1 == @paren_nest
            # To reject `->(...)` like `->...`
            emit(:tDOT3, '...'.freeze, @ts, dots_te)
          else
            emit(:tBDOT3, '...'.freeze, @ts, dots_te)

            if @version >= 31 && followed_by_nl && @context.in_argdef
              emit(:tNL, @te - 1, @te)
              nl_emitted = true
            end
          end
        elsif @version >= 27
          emit(:tBDOT3, '...'.freeze, @ts, dots_te)
        else
          emit(:tDOT3, '...'.freeze, @ts, dots_te)
        end

        if followed_by_nl && !nl_emitted
          # return "\n" to process it on the next scan
          p = p - 1;
        end

         @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 201 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 1608 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p = @ts - 1
        @cs_before_block_comment = @cs
        	begin
		 @cs = 710
		_goto_level = _again
		next
	end

       end
		end
	when 295 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 1941 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        if @paren_nest == 0
          diagnostic :warning, :triple_dot_at_eol, nil, range(@ts, @te - 1)
        end

        emit(:tDOT3, '...'.freeze, @ts, @te - 1)
        p = p - 1;
         @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 372 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 2040 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit_comment(@eq_begin_s, @te)
        	begin
		 @cs = (@cs_before_block_comment)
		_goto_level = _again
		next
	end

       end
		end
	when 369 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 2045 "lib/parser/lexer.rl"
		begin
 @te = p+1
		end
	when 382 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 2058 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  @eq_begin_s = @ts
           	begin
		 @cs = 704
		_goto_level = _again
		next
	end
  end
		end
	when 83 then
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 2062 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin  p = pe - 3  end
		end
	when 317 then
# line 674 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_rational 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 315 then
# line 675 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_imaginary 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 320 then
# line 676 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_imaginary_rational 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 318 then
# line 677 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer_re 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 316 then
# line 678 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer_if 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 319 then
# line 679 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer_rescue 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 308 then
# line 683 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_imaginary_float 		end
# line 1825 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 309 then
# line 684 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_float_if 		end
# line 1825 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 310 then
# line 688 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_rational 		end
# line 1825 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 312 then
# line 689 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_imaginary_rational 		end
# line 1825 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 311 then
# line 690 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_float_rescue 		end
# line 1825 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 147 then
# line 696 "lib/parser/lexer.rl"
		begin

    e_lbrace
  		end
# line 1026 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        if @lambda_stack.last == @paren_nest
          @lambda_stack.pop
          emit(:tLAMBEG, '{'.freeze, @te - 1, @te)
        else
          emit(:tLCURLY, '{'.freeze, @te - 1, @te)
        end
        @command_start = true
        @paren_nest += 1
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 169 then
# line 696 "lib/parser/lexer.rl"
		begin

    e_lbrace
  		end
# line 1185 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        if @lambda_stack.last == @paren_nest
          @lambda_stack.pop
          emit(:tLAMBEG, '{'.freeze)
        else
          emit(:tLBRACE_ARG, '{'.freeze)
        end
        @paren_nest += 1
        @command_start = true
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 245 then
# line 696 "lib/parser/lexer.rl"
		begin

    e_lbrace
  		end
# line 1451 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        if @lambda_stack.last == @paren_nest
          @lambda_stack.pop
          @command_start = true
          emit(:tLAMBEG, '{'.freeze)
        else
          emit(:tLBRACE, '{'.freeze)
        end
        @paren_nest += 1
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 360 then
# line 696 "lib/parser/lexer.rl"
		begin

    e_lbrace
  		end
# line 1689 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        if @lambda_stack.last == @paren_nest
          @lambda_stack.pop

          if tok == '{'.freeze
            emit(:tLAMBEG, '{'.freeze)
          else # 'do'
            emit(:kDO_LAMBDA, 'do'.freeze)
          end
        else
          if tok == '{'.freeze
            emit(:tLCURLY, '{'.freeze)
          else # 'do'
            emit_do
          end
        end
        if tok == '{'.freeze
          @paren_nest += 1
        end
        @command_start = true

         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 361 then
# line 700 "lib/parser/lexer.rl"
		begin

    if @strings.close_interp_on_current_literal(p)
      p = p - 1;
       @cs = 128;
      	begin
		p += 1
		_goto_level = _out
		next
	end

    end

    @paren_nest -= 1
  		end
# line 1912 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_rbrace_rparen_rbrack

        if tok == '}'.freeze || tok == ']'.freeze
          if @version >= 25
             @cs = 516;
          else
             @cs = 313;
          end
        else # )
          # fnext expr_endfn; ?
        end

        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 43 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
	when 16 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1059 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 18 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1072 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 20 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1100 "lib/parser/lexer.rl"
		begin
 tm = p 		end
	when 98 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 920 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 117 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 950 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 125 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 982 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 19 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1112 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        p = @ts - 1
        	begin
		 @cs = 516
		_goto_level = _again
		next
	end

       end
		end
	when 156 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1117 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 148 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1123 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 167 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1201 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 179 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1222 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 175 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1225 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 44 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1243 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
        p = p - 1;  @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 35 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1589 "lib/parser/lexer.rl"
		begin
 @te = p+1
 begin 
        emit(:tIDENTIFIER, ident_tok, ident_ts, ident_te)
        p = ident_te - 1

        if !@static_env.nil? && @static_env.declared?(ident_tok) && @version < 25
           @cs = 247;
        else
           @cs = 307;
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 198 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1605 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 254 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1632 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 250 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1635 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
      if @context.in_kwarg
        p = p - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end

      else
        	begin
		 @cs = 710
		_goto_level = _again
		next
	end

      end
     end
		end
	when 263 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1664 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 260 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1667 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  	begin
		 @cs = 710
		_goto_level = _again
		next
	end
  end
		end
	when 347 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1959 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 279 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1962 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  	begin
		 @cs = 696
		_goto_level = _again
		next
	end
  end
		end
	when 376 then
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 2055 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 46 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
	when 50 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
	when 101 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 920 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 116 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 950 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 128 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 982 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 150 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1120 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 165 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1201 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 177 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1222 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 204 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1605 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 252 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1632 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 262 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1664 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 283 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1959 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 378 then
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 2055 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 122 then
# line 777 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 972 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tFID, tok(@ts, tm), @ts, tm)
            @cs = (arg_or_cmdarg(cmd_state)); p = tm - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 218 then
# line 777 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1379 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
        p = tm - 1
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 189 then
# line 777 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1578 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 276 then
# line 777 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1 "NONE"
		begin
	case  @act
	when 104 then
	begin begin p = (( @te))-1; end

        if @lambda_stack.last == @paren_nest
          @lambda_stack.pop

          if tok == '{'.freeze
            emit(:tLAMBEG, '{'.freeze)
          else # 'do'
            emit(:kDO_LAMBDA, 'do'.freeze)
          end
        else
          if tok == '{'.freeze
            emit(:tLCURLY, '{'.freeze)
          else # 'do'
            emit_do
          end
        end
        if tok == '{'.freeze
          @paren_nest += 1
        end
        @command_start = true

         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 105 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
            @cs = 134; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 106 then
	begin begin p = (( @te))-1; end
 emit_singleton_class
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 107 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 108 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
           @command_start = true
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 109 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
            @cs = 321; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 110 then
	begin begin p = (( @te))-1; end

        emit_table(KEYWORDS)

        if version?(18) && tok == 'not'.freeze
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
           @cs = 276; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
      end
	when 111 then
	begin begin p = (( @te))-1; end

        if version?(18)
          emit(:tIDENTIFIER)

          unless !@static_env.nil? && @static_env.declared?(tok)
             @cs = (arg_or_cmdarg(cmd_state));
          end
        else
          emit(:k__ENCODING__, '__ENCODING__'.freeze)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 112 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS)
           	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 113 then
	begin begin p = (( @te))-1; end

        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 115 then
	begin begin p = (( @te))-1; end

        if version?(18, 19, 20)
          diagnostic :error,
                     :trailing_in_number, { :character => tok(@te - 1, @te) },
                     range(@te - 1, @te)
        else
          emit(:tINTEGER, tok(@ts, @te - 1).to_i, @ts, @te - 1)
          p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
      end
	when 116 then
	begin begin p = (( @te))-1; end

        if version?(18, 19, 20)
          diagnostic :error,
                     :trailing_in_number, { :character => tok(@te - 1, @te) },
                     range(@te - 1, @te)
        else
          emit(:tFLOAT, tok(@ts, @te - 1).to_f, @ts, @te - 1)
          p = p - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
      end
	when 117 then
	begin begin p = (( @te))-1; end

        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 119 then
	begin begin p = (( @te))-1; end
 emit(:tCONSTANT)
            @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 123 then
	begin begin p = (( @te))-1; end

    emit(:tIDENTIFIER)

    if !@static_env.nil? && @static_env.declared?(tok)
       @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end

    else
       @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end

    end
  end
	when 124 then
	begin begin p = (( @te))-1; end

        if tm == @te
          # Suffix was consumed, e.g. foo!
          emit(:tFID)
        else
          # Suffix was not consumed, e.g. foo!=
          emit(:tIDENTIFIER, tok(@ts, tm), @ts, tm)
          p = tm - 1
        end
         @cs = 276; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 126 then
	begin begin p = (( @te))-1; end

        emit_table(PUNCTUATION);
         @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 127 then
	begin begin p = (( @te))-1; end
 emit_table(PUNCTUATION)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
end 
			end
	when 123 then
# line 778 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 972 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tFID, tok(@ts, tm), @ts, tm)
            @cs = (arg_or_cmdarg(cmd_state)); p = tm - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 219 then
# line 778 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1379 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
        p = tm - 1
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 191 then
# line 778 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1578 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 277 then
# line 778 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1876 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        if tm == @te
          # Suffix was consumed, e.g. foo!
          emit(:tFID)
        else
          # Suffix was not consumed, e.g. foo!=
          emit(:tIDENTIFIER, tok(@ts, tm), @ts, tm)
          p = tm - 1
        end
         @cs = 276; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 220 then
# line 783 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1379 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
        p = tm - 1
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 192 then
# line 783 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1578 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 221 then
# line 784 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1379 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
        p = tm - 1
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 193 then
# line 784 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1578 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 225 then
# line 785 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1379 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
        p = tm - 1
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 196 then
# line 785 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1578 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 224 then
# line 786 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1379 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
        p = tm - 1
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 195 then
# line 786 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1 "NONE"
		begin
	case  @act
	when 60 then
	begin begin p = (( @te))-1; end

        emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
        p = p - 1;  @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

      end
	when 67 then
	begin begin p = (( @te))-1; end

        diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
      end
	when 76 then
	begin begin p = (( @te))-1; end

        if @version >= 27
          emit(:tPIPE, tok(@ts, @ts + 1), @ts, @ts + 1)
          p = p - 1;
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
          p -= 2
          	begin
		 @cs = 516
		_goto_level = _again
		next
	end

        end
      end
	when 80 then
	begin begin p = (( @te))-1; end
 emit_table(PUNCTUATION_BEGIN)
           	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 81 then
	begin begin p = (( @te))-1; end
 emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
           p = tm - 1
            @cs = 321; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 82 then
	begin begin p = (( @te))-1; end
 emit_table(KEYWORDS_BEGIN)
           @command_start = true
            @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end
 end
	when 86 then
	begin begin p = (( @te))-1; end
 p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
 end
	when 87 then
	begin begin p = (( @te))-1; end

    emit(:tIDENTIFIER)

    if !@static_env.nil? && @static_env.declared?(tok)
       @cs = 247; 	begin
		p += 1
		_goto_level = _out
		next
	end

    else
       @cs = (arg_or_cmdarg(cmd_state)); 	begin
		p += 1
		_goto_level = _out
		next
	end

    end
  end
	when 91 then
	begin begin p = (( @te))-1; end
 p = @ts - 1; 	begin
		 @cs = 516
		_goto_level = _again
		next
	end
 end
end 
			end
	when 222 then
# line 787 "lib/parser/lexer.rl"
		begin
 tm = p - 3 		end
# line 1379 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
        p = tm - 1
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 194 then
# line 787 "lib/parser/lexer.rl"
		begin
 tm = p - 3 		end
# line 1578 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  p = @ts - 1
           	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 223 then
# line 792 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1379 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
        p = tm - 1
         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 342 then
# line 797 "lib/parser/lexer.rl"
		begin
 tm = p - 2 		end
# line 1858 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tCONSTANT, tok(@ts, tm), @ts, tm)
           p = tm - 1; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 146 then
# line 803 "lib/parser/lexer.rl"
		begin

    @cond.push(false); @cmdarg.push(false)

    @paren_nest += 1
  		end
# line 1020 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tLBRACK, '['.freeze, @te - 1, @te)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 238 then
# line 803 "lib/parser/lexer.rl"
		begin

    @cond.push(false); @cmdarg.push(false)

    @paren_nest += 1
  		end
# line 1465 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tLBRACK, '['.freeze)
           	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 345 then
# line 803 "lib/parser/lexer.rl"
		begin

    @cond.push(false); @cmdarg.push(false)

    @paren_nest += 1
  		end
# line 1937 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tLBRACK2, '['.freeze)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 348 then
# line 809 "lib/parser/lexer.rl"
		begin

    @paren_nest -= 1
  		end
# line 1912 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_rbrace_rparen_rbrack

        if tok == '}'.freeze || tok == ']'.freeze
          if @version >= 25
             @cs = 516;
          else
             @cs = 313;
          end
        else # )
          # fnext expr_endfn; ?
        end

        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 138 then
# line 816 "lib/parser/lexer.rl"
		begin

    @cond.push(false); @cmdarg.push(false)

    @paren_nest += 1

    if version?(18)
      @command_start = true
    end
  		end
# line 1001 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        if version?(18)
          emit(:tLPAREN2, '('.freeze, @te - 1, @te)
           @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
          emit(:tLPAREN_ARG, '('.freeze, @te - 1, @te)
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
       end
		end
	when 151 then
# line 816 "lib/parser/lexer.rl"
		begin

    @cond.push(false); @cmdarg.push(false)

    @paren_nest += 1

    if version?(18)
      @command_start = true
    end
  		end
# line 1014 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tLPAREN2, '('.freeze)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 159 then
# line 816 "lib/parser/lexer.rl"
		begin

    @cond.push(false); @cmdarg.push(false)

    @paren_nest += 1

    if version?(18)
      @command_start = true
    end
  		end
# line 1139 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit(:tLPAREN_ARG, '('.freeze, @te - 1, @te)
        if version?(18)
           @cs = 508; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        end
       end
		end
	when 208 then
# line 816 "lib/parser/lexer.rl"
		begin

    @cond.push(false); @cmdarg.push(false)

    @paren_nest += 1

    if version?(18)
      @command_start = true
    end
  		end
# line 1470 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:tLPAREN, '('.freeze)
           	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 289 then
# line 816 "lib/parser/lexer.rl"
		begin

    @cond.push(false); @cmdarg.push(false)

    @paren_nest += 1

    if version?(18)
      @command_start = true
    end
  		end
# line 1908 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit_table(PUNCTUATION)
            @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 290 then
# line 826 "lib/parser/lexer.rl"
		begin

    @paren_nest -= 1
  		end
# line 1912 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_rbrace_rparen_rbrack

        if tok == '}'.freeze || tok == ']'.freeze
          if @version >= 25
             @cs = 516;
          else
             @cs = 313;
          end
        else # )
          # fnext expr_endfn; ?
        end

        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 57 then
# line 1297 "lib/parser/lexer.rl"
		begin
 heredoc_e      = p 		end
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
	when 233 then
# line 1298 "lib/parser/lexer.rl"
		begin
 new_herebody_s = p 		end
# line 1299 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        tok(@ts, heredoc_e) =~ /^<<(-?)(~?)(["'`]?)(.*)\3$/m

        indent      = !$1.empty? || !$2.empty?
        dedent_body = !$2.empty?
        type        =  $3.empty? ? '<<"'.freeze : ('<<'.freeze + $3)
        delimiter   =  $4

        if @version >= 27
          if delimiter.count("\n") > 0 || delimiter.count("\r") > 0
            diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
          end
        elsif @version >= 24
          if delimiter.count("\n") > 0
            if delimiter.end_with?("\n")
              diagnostic :warning, :heredoc_id_ends_with_nl, nil, range(@ts, @ts + 1)
              delimiter = delimiter.rstrip
            else
              diagnostic :fatal, :heredoc_id_has_newline, nil, range(@ts, @ts + 1)
            end
          end
        end

        if dedent_body && version?(18, 19, 20, 21, 22)
          emit(:tLSHFT, '<<'.freeze, @ts, @ts + 2)
          p = @ts + 1
           @cs = 345; 	begin
		p += 1
		_goto_level = _out
		next
	end

        else
          @strings.push_literal(type, delimiter, @ts, heredoc_e, indent, dedent_body);
          @strings.herebody_s ||= new_herebody_s

          p = @strings.herebody_s - 1
           @cs = 128;
        end
       end
		end
	when 228 then
# line 1392 "lib/parser/lexer.rl"
		begin
 tm = p - 1; diag_msg = :ivar_name 		end
# line 1395 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_colon_with_digits(p, tm, diag_msg)

         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 231 then
# line 1393 "lib/parser/lexer.rl"
		begin
 tm = p - 2; diag_msg = :cvar_name 		end
# line 1395 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        emit_colon_with_digits(p, tm, diag_msg)

         @cs = 516; 	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 241 then
# line 1480 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1481 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
           p = tm - 1
            @cs = 321; 	begin
		p += 1
		_goto_level = _out
		next
	end
  end
		end
	when 332 then
# line 1773 "lib/parser/lexer.rl"
		begin
 @num_base = 16; @num_digits_s = p 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 326 then
# line 1774 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = p 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 329 then
# line 1775 "lib/parser/lexer.rl"
		begin
 @num_base = 8;  @num_digits_s = p 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 323 then
# line 1776 "lib/parser/lexer.rl"
		begin
 @num_base = 2;  @num_digits_s = p 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 338 then
# line 1777 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = @ts 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 301 then
# line 1778 "lib/parser/lexer.rl"
		begin
 @num_base = 8;  @num_digits_s = @ts 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 339 then
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
	when 184 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
	when 305 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1823 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
	when 107 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 878 "lib/parser/lexer.rl"
		begin
 @act = 4;		end
	when 94 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 882 "lib/parser/lexer.rl"
		begin
 @act = 5;		end
	when 90 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 886 "lib/parser/lexer.rl"
		begin
 @act = 6;		end
	when 12 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1063 "lib/parser/lexer.rl"
		begin
 @act = 33;		end
	when 140 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1073 "lib/parser/lexer.rl"
		begin
 @act = 34;		end
	when 13 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1112 "lib/parser/lexer.rl"
		begin
 @act = 39;		end
	when 133 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1117 "lib/parser/lexer.rl"
		begin
 @act = 40;		end
	when 160 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1149 "lib/parser/lexer.rl"
		begin
 @act = 46;		end
	when 31 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1162 "lib/parser/lexer.rl"
		begin
 @act = 47;		end
	when 181 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1216 "lib/parser/lexer.rl"
		begin
 @act = 54;		end
	when 170 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1220 "lib/parser/lexer.rl"
		begin
 @act = 55;		end
	when 55 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1346 "lib/parser/lexer.rl"
		begin
 @act = 67;		end
	when 246 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1434 "lib/parser/lexer.rl"
		begin
 @act = 76;		end
	when 185 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1475 "lib/parser/lexer.rl"
		begin
 @act = 80;		end
	when 240 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1481 "lib/parser/lexer.rl"
		begin
 @act = 81;		end
	when 239 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1487 "lib/parser/lexer.rl"
		begin
 @act = 82;		end
	when 59 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1578 "lib/parser/lexer.rl"
		begin
 @act = 86;		end
	when 182 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 831 "lib/parser/lexer.rl"
		begin
 @act = 87;		end
	when 186 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1624 "lib/parser/lexer.rl"
		begin
 @act = 91;		end
	when 356 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1689 "lib/parser/lexer.rl"
		begin
 @act = 104;		end
	when 351 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1718 "lib/parser/lexer.rl"
		begin
 @act = 105;		end
	when 359 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1727 "lib/parser/lexer.rl"
		begin
 @act = 107;		end
	when 352 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1732 "lib/parser/lexer.rl"
		begin
 @act = 108;		end
	when 353 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1737 "lib/parser/lexer.rl"
		begin
 @act = 109;		end
	when 358 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1741 "lib/parser/lexer.rl"
		begin
 @act = 110;		end
	when 350 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1752 "lib/parser/lexer.rl"
		begin
 @act = 111;		end
	when 344 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1766 "lib/parser/lexer.rl"
		begin
 @act = 112;		end
	when 270 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @act = 113;		end
	when 303 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1810 "lib/parser/lexer.rl"
		begin
 @act = 116;		end
	when 67 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1825 "lib/parser/lexer.rl"
		begin
 @act = 117;		end
	when 273 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1854 "lib/parser/lexer.rl"
		begin
 @act = 119;		end
	when 264 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 831 "lib/parser/lexer.rl"
		begin
 @act = 123;		end
	when 275 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1876 "lib/parser/lexer.rl"
		begin
 @act = 124;		end
	when 268 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1902 "lib/parser/lexer.rl"
		begin
 @act = 126;		end
	when 274 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1908 "lib/parser/lexer.rl"
		begin
 @act = 127;		end
	when 73 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1991 "lib/parser/lexer.rl"
		begin
 @act = 140;		end
	when 363 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 2030 "lib/parser/lexer.rl"
		begin
 @act = 144;		end
	when 47 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
	when 100 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 920 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 115 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 950 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 127 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 982 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 149 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1120 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin  	begin
		 @cs = 516
		_goto_level = _again
		next
	end
  end
		end
	when 164 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1201 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 176 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1222 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 203 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1605 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 251 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1632 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 261 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1664 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 282 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1959 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 377 then
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 2055 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1;		end
	when 334 then
# line 1777 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = @ts 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
	when 298 then
# line 1778 "lib/parser/lexer.rl"
		begin
 @num_base = 8;  @num_digits_s = @ts 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
	when 313 then
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 306 then
# line 1822 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 682 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_float 		end
# line 1825 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 302 then
# line 1823 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 682 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_float 		end
# line 1825 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = tok(@ts, @num_suffix_s)

        if version?(18, 19, 20)
          emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits, p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 155 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 539 "lib/parser/lexer.rl"
		begin

    # Record position of a newline for precise location reporting on tNL
    # tokens.
    #
    # This action is embedded directly into c_nl, as it is idempotent and
    # there are no cases when we need to skip it.
    @newline_s = p
  		end
# line 1117 "lib/parser/lexer.rl"
		begin
 @act = 40;		end
	when 21 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1112 "lib/parser/lexer.rl"
		begin
 @act = 39;		end
	when 32 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1162 "lib/parser/lexer.rl"
		begin
 @act = 47;		end
	when 79 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1991 "lib/parser/lexer.rl"
		begin
 @act = 140;		end
	when 51 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1243 "lib/parser/lexer.rl"
		begin
 @act = 60;		end
	when 70 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1722 "lib/parser/lexer.rl"
		begin
 @act = 106;		end
	when 78 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1991 "lib/parser/lexer.rl"
		begin
 @act = 140;		end
	when 23 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1072 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1073 "lib/parser/lexer.rl"
		begin
 @act = 34;		end
	when 243 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1480 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1578 "lib/parser/lexer.rl"
		begin
 @act = 86;		end
	when 242 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1480 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 831 "lib/parser/lexer.rl"
		begin
 @act = 87;		end
	when 335 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1777 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = @ts 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @act = 113;		end
	when 330 then
# line 1773 "lib/parser/lexer.rl"
		begin
 @num_base = 16; @num_digits_s = p 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 324 then
# line 1774 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = p 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 327 then
# line 1775 "lib/parser/lexer.rl"
		begin
 @num_base = 8;  @num_digits_s = p 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 321 then
# line 1776 "lib/parser/lexer.rl"
		begin
 @num_base = 2;  @num_digits_s = p 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 333 then
# line 1777 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = @ts 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 297 then
# line 1778 "lib/parser/lexer.rl"
		begin
 @num_base = 8;  @num_digits_s = @ts 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1780 "lib/parser/lexer.rl"
		begin
 @te = p
p = p - 1; begin 
        digits = numeric_literal_int

        if version?(18, 19, 20)
          emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
          p = @num_suffix_s - 1
        else
          p = @num_xfrm.call(digits.to_i(@num_base), p)
        end
        	begin
		p += 1
		_goto_level = _out
		next
	end

       end
		end
	when 17 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 723 "lib/parser/lexer.rl"
		begin

    p = on_newline(p)
  		end
# line 1072 "lib/parser/lexer.rl"
		begin
 tm = p 		end
# line 1073 "lib/parser/lexer.rl"
		begin
 @act = 34;		end
	when 48 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1243 "lib/parser/lexer.rl"
		begin
 @act = 60;		end
	when 77 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 733 "lib/parser/lexer.rl"
		begin
 @sharp_s = p - 1 		end
# line 736 "lib/parser/lexer.rl"
		begin
 emit_comment_from_range(p, pe) 		end
# line 1991 "lib/parser/lexer.rl"
		begin
 @act = 140;		end
	when 340 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1798 "lib/parser/lexer.rl"
		begin
 @act = 115;		end
	when 336 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1777 "lib/parser/lexer.rl"
		begin
 @num_base = 10; @num_digits_s = @ts 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1798 "lib/parser/lexer.rl"
		begin
 @act = 115;		end
	when 300 then
# line 1 "NONE"
		begin
 @te = p+1
		end
# line 1778 "lib/parser/lexer.rl"
		begin
 @num_base = 8;  @num_digits_s = @ts 		end
# line 1779 "lib/parser/lexer.rl"
		begin
 @num_suffix_s = p 		end
# line 673 "lib/parser/lexer.rl"
		begin
 @num_xfrm = @emit_integer 		end
# line 1798 "lib/parser/lexer.rl"
		begin
 @act = 115;		end
# line 14525 "lib/parser/lexer-F1.rb"
	end
	end
	end
	if _goto_level <= _again
	case _lex_to_state_actions[ @cs] 
	when 84 then
# line 1 "NONE"
		begin
 @ts = nil;		end
# line 14535 "lib/parser/lexer-F1.rb"
	end

	if  @cs == 0
		_goto_level = _out
		next
	end
	p += 1
	if p != pe
		_goto_level = _resume
		next
	end
	end
	if _goto_level <= _test_eof
	if p == eof
	if _lex_eof_trans[ @cs] > 0
		_trans = _lex_eof_trans[ @cs] - 1;
		_goto_level = _eof_trans
		next;
	end
	end

	end
	if _goto_level <= _out
		break
	end
end
	end

# line 281 "lib/parser/lexer.rl"
    # %

    # Ragel creates a local variable called `testEof` but it doesn't use
    # it in any assignment. This dead code is here to swallow the warning.
    # It has no runtime cost because Ruby doesn't produce any instructions from it.
    if false
      testEof
    end

    @p = p

    if @token_queue.any?
      @token_queue.shift
    elsif @cs == klass.lex_error
      [ false, [ '$error'.freeze, range(p - 1, p) ] ]
    else
      eof = @source_pts.size
      [ false, [ '$eof'.freeze,   range(eof, eof) ] ]
    end
  end

  protected

  def version?(*versions)
    versions.include?(@version)
  end

  def stack_pop
    @top -= 1
    @stack[@top]
  end

  def tok(s = @ts, e = @te)
    @source_buffer.slice(s, e - s)
  end

  def range(s = @ts, e = @te)
    Parser::Source::Range.new(@source_buffer, s, e)
  end

  def emit(type, value = tok, s = @ts, e = @te)
    token = [ type, [ value, range(s, e) ] ]

    @token_queue.push(token)

    @tokens.push(token) if @tokens

    token
  end

  def emit_table(table, s = @ts, e = @te)
    value = tok(s, e)

    emit(table[value], value, s, e)
  end

  def emit_do(do_block=false)
    if @cond.active?
      emit(:kDO_COND, 'do'.freeze)
    elsif @cmdarg.active? || do_block
      emit(:kDO_BLOCK, 'do'.freeze)
    else
      emit(:kDO, 'do'.freeze)
    end
  end

  def arg_or_cmdarg(cmd_state)
    if cmd_state
      self.class.lex_en_expr_cmdarg
    else
      self.class.lex_en_expr_arg
    end
  end

  def emit_comment(s = @ts, e = @te)
    if @comments
      @comments.push(Parser::Source::Comment.new(range(s, e)))
    end

    if @tokens
      @tokens.push([ :tCOMMENT, [ tok(s, e), range(s, e) ] ])
    end

    nil
  end

  def emit_comment_from_range(p, pe)
    emit_comment(@sharp_s, p == pe ? p - 2 : p)
  end

  def diagnostic(type, reason, arguments=nil, location=range, highlights=[])
    @diagnostics.process(
        Parser::Diagnostic.new(type, reason, arguments, location, highlights))
  end


  def e_lbrace
    @cond.push(false); @cmdarg.push(false)

    current_literal = @strings.literal
    if current_literal
      current_literal.start_interp_brace
    end
  end

  def numeric_literal_int
    digits = tok(@num_digits_s, @num_suffix_s)

    if digits.end_with? '_'.freeze
      diagnostic :error, :trailing_in_number, { :character => '_'.freeze },
                 range(@te - 1, @te)
    elsif digits.empty? && @num_base == 8 && version?(18)
      # 1.8 did not raise an error on 0o.
      digits = '0'.freeze
    elsif digits.empty?
      diagnostic :error, :empty_numeric
    elsif @num_base == 8 && (invalid_idx = digits.index(/[89]/))
      invalid_s = @num_digits_s + invalid_idx
      diagnostic :error, :invalid_octal, nil,
                 range(invalid_s, invalid_s + 1)
    end
    digits
  end

  def on_newline(p)
    @strings.on_newline(p)
  end

  def check_ambiguous_slash(tm)
    if tok(tm, tm + 1) == '/'.freeze
      # Ambiguous regexp literal.
      if @version < 30
        diagnostic :warning, :ambiguous_literal, nil, range(tm, tm + 1)
      else
        diagnostic :warning, :ambiguous_regexp, nil, range(tm, tm + 1)
      end
    end
  end

  def emit_global_var(ts = @ts, te = @te)
    if tok(ts, te) =~ /^\$([1-9][0-9]*)$/
      emit(:tNTH_REF, tok(ts + 1, te).to_i, ts, te)
    elsif tok =~ /^\$([&`'+])$/
      emit(:tBACK_REF, tok(ts, te), ts, te)
    else
      emit(:tGVAR, tok(ts, te), ts, te)
    end
  end

  def emit_class_var(ts = @ts, te = @te)
    if tok(ts, te) =~ /^@@[0-9]/
      diagnostic :error, :cvar_name, { :name => tok(ts, te) }
    end

    emit(:tCVAR, tok(ts, te), ts, te)
  end

  def emit_instance_var(ts = @ts, te = @te)
    if tok(ts, te) =~ /^@[0-9]/
      diagnostic :error, :ivar_name, { :name => tok(ts, te) }
    end

    emit(:tIVAR, tok(ts, te), ts, te)
  end

  def emit_rbrace_rparen_rbrack
    emit_table(PUNCTUATION)

    if @version < 24
      @cond.lexpop
      @cmdarg.lexpop
    else
      @cond.pop
      @cmdarg.pop
    end
  end

  def emit_colon_with_digits(p, tm, diag_msg)
    if @version >= 27
      diagnostic :error, diag_msg, { name: tok(tm, @te) }, range(tm, @te)
    else
      emit(:tCOLON, tok(@ts, @ts + 1), @ts, @ts + 1)
      p = @ts
    end
    p
  end

  def emit_singleton_class
    emit(:kCLASS, 'class'.freeze, @ts, @ts + 5)
    emit(:tLSHFT, '<<'.freeze,    @te - 2, @te)
  end

  # Mapping of strings to parser tokens.

  PUNCTUATION = {
    '='   => :tEQL,     '&'   => :tAMPER2,  '|'   => :tPIPE,
    '!'   => :tBANG,    '^'   => :tCARET,   '+'   => :tPLUS,
    '-'   => :tMINUS,   '*'   => :tSTAR2,   '/'   => :tDIVIDE,
    '%'   => :tPERCENT, '~'   => :tTILDE,   ','   => :tCOMMA,
    ';'   => :tSEMI,    '.'   => :tDOT,     '..'  => :tDOT2,
    '...' => :tDOT3,    '['   => :tLBRACK2, ']'   => :tRBRACK,
    '('   => :tLPAREN2, ')'   => :tRPAREN,  '?'   => :tEH,
    ':'   => :tCOLON,   '&&'  => :tANDOP,   '||'  => :tOROP,
    '-@'  => :tUMINUS,  '+@'  => :tUPLUS,   '~@'  => :tTILDE,
    '**'  => :tPOW,     '->'  => :tLAMBDA,  '=~'  => :tMATCH,
    '!~'  => :tNMATCH,  '=='  => :tEQ,      '!='  => :tNEQ,
    '>'   => :tGT,      '>>'  => :tRSHFT,   '>='  => :tGEQ,
    '<'   => :tLT,      '<<'  => :tLSHFT,   '<='  => :tLEQ,
    '=>'  => :tASSOC,   '::'  => :tCOLON2,  '===' => :tEQQ,
    '<=>' => :tCMP,     '[]'  => :tAREF,    '[]=' => :tASET,
    '{'   => :tLCURLY,  '}'   => :tRCURLY,  '`'   => :tBACK_REF2,
    '!@'  => :tBANG,    '&.'  => :tANDDOT,
  }

  PUNCTUATION_BEGIN = {
    '&'   => :tAMPER,   '*'   => :tSTAR,    '**'  => :tDSTAR,
    '+'   => :tUPLUS,   '-'   => :tUMINUS,  '::'  => :tCOLON3,
    '('   => :tLPAREN,  '{'   => :tLBRACE,  '['   => :tLBRACK,
  }

  KEYWORDS = {
    'if'     => :kIF_MOD,      'unless'   => :kUNLESS_MOD,
    'while'  => :kWHILE_MOD,   'until'    => :kUNTIL_MOD,
    'rescue' => :kRESCUE_MOD,  'defined?' => :kDEFINED,
    'BEGIN'  => :klBEGIN,      'END'      => :klEND,
  }

  KEYWORDS_BEGIN = {
    'if'     => :kIF,          'unless'   => :kUNLESS,
    'while'  => :kWHILE,       'until'    => :kUNTIL,
    'rescue' => :kRESCUE,      'defined?' => :kDEFINED,
    'BEGIN'  => :klBEGIN,      'END'      => :klEND,
  }

  ESCAPE_WHITESPACE = {
    " "  => '\s', "\r" => '\r', "\n" => '\n', "\t" => '\t',
    "\v" => '\v', "\f" => '\f'
  }

  %w(class module def undef begin end then elsif else ensure case when
     for break next redo retry in do return yield super self nil true
     false and or not alias __FILE__ __LINE__ __ENCODING__).each do |keyword|
    KEYWORDS_BEGIN[keyword] = KEYWORDS[keyword] = :"k#{keyword.upcase}"
  end

  
# line 2081 "lib/parser/lexer.rl"

  # %
end
